【问题标题】:Vega-lite aggregate joinVega-lite 聚合连接
【发布时间】:2019-04-02 20:12:22
【问题描述】:

我有一个基本结构如下的数据集:

response_id | question_id | question_type | question_key | question_value

1           |           1 | demographic   | age          | 23
1           |           2 | value         | enjoyment    | 0.75
1           |           3 | value         | speed        | 0.95
1           |           4 | demographic   | gender       | o
2           |           5 | demographic   | age          | 55
2           |           6 | value         | enjoyment    | 0.2
2           |           7 | value         | speed        | 0.15
2           |           8 | demographic   | gender       | m
...

我需要制作各种图表,以不同方式比较这些响应,汇总到常见的response_id

如何加入response_id,然后根据question_type AND question_value 对的查找进行过滤和聚合?

图表 1

简单图表的示例是水平条形图,在 Y 轴上显示 question_value 的平均值,过滤 question_type = 'value',每个唯一的 question_key 都有一个条形。

所以会有一个question_key = 'enjoyment' 的栏和一个question_key = 'speed' 的栏。可能有不同数量的question_keys,它们会动态变化,即speedenjoyment 不是固定的并且事先已知,因此图表可能有不同数量的柱。

图表 2

现在我想创建一个以图表 1 为轴心的新图表。上面图表中的每个柱在question_type = 'demographic' AND question_key = 'gender' 上分成两个不同的柱。因此,对于上面的每个条形,现在将有两个条形用于 gender='m'gender='o'。所以我会有这样的酒吧:enjoyment,menjoyment,ospeed,mspeed,o。所有gender='m' 将是一种颜色,所有gender='o' 将是另一种颜色。

图表 3

接下来我可能想再次透视上面的图表 1,但随着年龄的增长,question_type='demographic' AND question_key='age' 然后将年龄结果放入 10 年的箱子中。所以我有enjoyment,age=1-10enjoyment,age=11-20enjoyment,age=21-30...speed,age=1-10speed,age=11-20...等。

这些枢轴是固定的,因此我将始终使用 question_type='demographic' AND question_key='gender' 和过滤器的这些精确值制作图表,但是 question_type='value' 键不固定。

【问题讨论】:

    标签: vega-lite


    【解决方案1】:

    我认为您需要一个条形图、一个分组条形图和一个分面分组条形图。查看 Vega-Lite 中的 facet 运算符以及如何使用它来创建所需的图表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-10
      • 2020-02-01
      • 2020-04-22
      • 2020-03-19
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多