用条形图模拟小提琴图
Emulating Violin plot with bar chart
我不喜欢 KDE,想证明条形图通常也一样好。
我在想
(1) 如果有办法使第二张图表中的条形图居中,这样它看起来更接近小提琴图。但是,如果有任何可视化理论表明我们不应该居中;听到这个也很高兴!
(2)有没有办法去掉重复的x标签,call_counts
,合并成全局标签?
(3) 什么是最简单的安排日子的方式?我可以对数据进行非规范化并将 1/2/3... 添加到 Mon/Tue/Wed 然后按该列排序,但看起来有点乏味。
(4) 有没有办法让时间从早上 7 点而不是 0 点开始? --- 同样,我可以创建一个指定顺序的新列,例如 1/2/3 表示 7/8/9 等,但这又有点乏味。
谢谢!用于第二张图片的 vegalite 代码在底部。
{"config": {"view": {"width": 400, "height": 300}, "mark": {"tooltip": null}}, "data": {"name": "data-48e44ddf7145f9f73a437aa53255a270"}, "mark": "bar", "encoding": {"column": {"type": "nominal", "field": "Day"}, "x": {"type": "quantitative", "field": "call_count"}, "y": {"type": "ordinal", "field": "hour_bin"}}, "height": 200, "width": 50, "$schema": "https://vega.github.io/schema/vega-lite/v3.4.0.json", "datasets": {"data-48e44ddf7145f9f73a437aa53255a270": [{"Day": "Friday", "hour_bin": 0, "call_count": 39}, {"Day": "Friday", "hour_bin": 1, "call_count": 17}, {"Day": "Friday", "hour_bin": 2, "call_count": 10}, {"Day": "Friday", "hour_bin": 3, "call_count": 4}, {"Day": "Friday", "hour_bin": 4, "call_count": 6}, {"Day": "Friday", "hour_bin": 5, "call_count": 8}, {"Day": "Friday", "hour_bin": 6, "call_count": 15}, {"Day": "Friday", "hour_bin": 7, "call_count": 18}, {"Day": "Friday", "hour_bin": 8, "call_count": 28}, {"Day": "Friday", "hour_bin": 9, "call_count": 30}, {"Day": "Friday", "hour_bin": 10, "call_count": 25}, {"Day": "Friday", "hour_bin": 11, "call_count": 29}, {"Day": "Friday", "hour_bin": 12, "call_count": 47}, {"Day": "Friday", "hour_bin": 13, "call_count": 44}, {"Day": "Friday", "hour_bin": 14, "call_count": 32}, {"Day": "Friday", "hour_bin": 15, "call_count": 35}, {"Day": "Friday", "hour_bin": 16, "call_count": 53}, {"Day": "Friday", "hour_bin": 17, "call_count": 51}, {"Day": "Friday", "hour_bin": 18, "call_count": 46}, {"Day": "Friday", "hour_bin": 19, "call_count": 53}, {"Day": "Friday", "hour_bin": 20, "call_count": 59}, {"Day": "Friday", "hour_bin": 21, "call_count": 49}, {"Day": "Friday", "hour_bin": 22, "call_count": 37}, {"Day": "Friday", "hour_bin": 23, "call_count": 43}, {"Day": "Monday", "hour_bin": 0, "call_count": 56}, {"Day": "Monday", "hour_bin": 1, "call_count": 20}, {"Day": "Monday", "hour_bin": 2, "call_count": 11}, {"Day": "Monday", "hour_bin": 3, "call_count": 11}, {"Day": "Monday", "hour_bin": 4, "call_count": 13}, {"Day": "Monday", "hour_bin": 5, "call_count": 8}, {"Day": "Monday", "hour_bin": 6, "call_count": 11}, {"Day": "Monday", "hour_bin": 7, "call_count": 22}, {"Day": "Monday", "hour_bin": 8, "call_count": 26}, {"Day": "Monday", "hour_bin": 9, "call_count": 33}, {"Day": "Monday", "hour_bin": 10, "call_count": 29}, {"Day": "Monday", "hour_bin": 11, "call_count": 28}, {"Day": "Monday", "hour_bin": 12, "call_count": 49}, {"Day": "Monday", "hour_bin": 13, "call_count": 43}, {"Day": "Monday", "hour_bin": 14, "call_count": 33}, {"Day": "Monday", "hour_bin": 15, "call_count": 27}, {"Day": "Monday", "hour_bin": 16, "call_count": 34}, {"Day": "Monday", "hour_bin": 17, "call_count": 53}, {"Day": "Monday", "hour_bin": 18, "call_count": 57}, {"Day": "Monday", "hour_bin": 19, "call_count": 66}, {"Day": "Monday", "hour_bin": 20, "call_count": 47}, {"Day": "Monday", "hour_bin": 21, "call_count": 45}, {"Day": "Monday", "hour_bin": 22, "call_count": 41}, {"Day": "Monday", "hour_bin": 23, "call_count": 25}, {"Day": "Saturday", "hour_bin": 0, "call_count": 58}, {"Day": "Saturday", "hour_bin": 1, "call_count": 20}, {"Day": "Saturday", "hour_bin": 2, "call_count": 22}, {"Day": "Saturday", "hour_bin": 3, "call_count": 21}, {"Day": "Saturday", "hour_bin": 4, "call_count": 16}, {"Day": "Saturday", "hour_bin": 5, "call_count": 4}, {"Day": "Saturday", "hour_bin": 6, "call_count": 8}, {"Day": "Saturday", "hour_bin": 7, "call_count": 13}, {"Day": "Saturday", "hour_bin": 8, "call_count": 21}, {"Day": "Saturday", "hour_bin": 9, "call_count": 26}, {"Day": "Saturday", "hour_bin": 10, "call_count": 34}, {"Day": "Saturday", "hour_bin": 11, "call_count": 32}, {"Day": "Saturday", "hour_bin": 12, "call_count": 32}, {"Day": "Saturday", "hour_bin": 13, "call_count": 30}, {"Day": "Saturday", "hour_bin": 14, "call_count": 38}, {"Day": "Saturday", "hour_bin": 15, "call_count": 34}, {"Day": "Saturday", "hour_bin": 16, "call_count": 37}, {"Day": "Saturday", "hour_bin": 17, "call_count": 46}, {"Day": "Saturday", "hour_bin": 18, "call_count": 40}, {"Day": "Saturday", "hour_bin": 19, "call_count": 48}, {"Day": "Saturday", "hour_bin": 20, "call_count": 34}, {"Day": "Saturday", "hour_bin": 21, "call_count": 44}, {"Day": "Saturday", "hour_bin": 22, "call_count": 48}, {"Day": "Saturday", "hour_bin": 23, "call_count": 43}, {"Day": "Sunday", "hour_bin": 0, "call_count": 44}, {"Day": "Sunday", "hour_bin": 1, "call_count": 34}, {"Day": "Sunday", "hour_bin": 2, "call_count": 19}, {"Day": "Sunday", "hour_bin": 3, "call_count": 8}, {"Day": "Sunday", "hour_bin": 4, "call_count": 13}, {"Day": "Sunday", "hour_bin": 5, "call_count": 5}, {"Day": "Sunday", "hour_bin": 6, "call_count": 9}, {"Day": "Sunday", "hour_bin": 7, "call_count": 16}, {"Day": "Sunday", "hour_bin": 8, "call_count": 26}, {"Day": "Sunday", "hour_bin": 9, "call_count": 22}, {"Day": "Sunday", "hour_bin": 10, "call_count": 23}, {"Day": "Sunday", "hour_bin": 11, "call_count": 27}, {"Day": "Sunday", "hour_bin": 12, "call_count": 29}, {"Day": "Sunday", "hour_bin": 13, "call_count": 24}, {"Day": "Sunday", "hour_bin": 14, "call_count": 29}, {"Day": "Sunday", "hour_bin": 15, "call_count": 38}, {"Day": "Sunday", "hour_bin": 16, "call_count": 31}, {"Day": "Sunday", "hour_bin": 17, "call_count": 32}, {"Day": "Sunday", "hour_bin": 18, "call_count": 41}, {"Day": "Sunday", "hour_bin": 19, "call_count": 40}, {"Day": "Sunday", "hour_bin": 20, "call_count": 45}, {"Day": "Sunday", "hour_bin": 21, "call_count": 40}, {"Day": "Sunday", "hour_bin": 22, "call_count": 38}, {"Day": "Sunday", "hour_bin": 23, "call_count": 27}, {"Day": "Thursday", "hour_bin": 0, "call_count": 45}, {"Day": "Thursday", "hour_bin": 1, "call_count": 18}, {"Day": "Thursday", "hour_bin": 2, "call_count": 15}, {"Day": "Thursday", "hour_bin": 3, "call_count": 12}, {"Day": "Thursday", "hour_bin": 4, "call_count": 8}, {"Day": "Thursday", "hour_bin": 5, "call_count": 11}, {"Day": "Thursday", "hour_bin": 6, "call_count": 8}, {"Day": "Thursday", "hour_bin": 7, "call_count": 12}, {"Day": "Thursday", "hour_bin": 8, "call_count": 30}, {"Day": "Thursday", "hour_bin": 9, "call_count": 16}, {"Day": "Thursday", "hour_bin": 10, "call_count": 23}, {"Day": "Thursday", "hour_bin": 11, "call_count": 42}, {"Day": "Thursday", "hour_bin": 12, "call_count": 39}, {"Day": "Thursday", "hour_bin": 13, "call_count": 41}, {"Day": "Thursday", "hour_bin": 14, "call_count": 42}, {"Day": "Thursday", "hour_bin": 15, "call_count": 42}, {"Day": "Thursday", "hour_bin": 16, "call_count": 40}, {"Day": "Thursday", "hour_bin": 17, "call_count": 45}, {"Day": "Thursday", "hour_bin": 18, "call_count": 56}, {"Day": "Thursday", "hour_bin": 19, "call_count": 49}, {"Day": "Thursday", "hour_bin": 20, "call_count": 52}, {"Day": "Thursday", "hour_bin": 21, "call_count": 45}, {"Day": "Thursday", "hour_bin": 22, "call_count": 41}, {"Day": "Thursday", "hour_bin": 23, "call_count": 39}, {"Day": "Tuesday", "hour_bin": 0, "call_count": 35}, {"Day": "Tuesday", "hour_bin": 1, "call_count": 13}, {"Day": "Tuesday", "hour_bin": 2, "call_count": 20}, {"Day": "Tuesday", "hour_bin": 3, "call_count": 11}, {"Day": "Tuesday", "hour_bin": 4, "call_count": 13}, {"Day": "Tuesday", "hour_bin": 5, "call_count": 10}, {"Day": "Tuesday", "hour_bin": 6, "call_count": 6}, {"Day": "Tuesday", "hour_bin": 7, "call_count": 13}, {"Day": "Tuesday", "hour_bin": 8, "call_count": 25}, {"Day": "Tuesday", "hour_bin": 9, "call_count": 24}, {"Day": "Tuesday", "hour_bin": 10, "call_count": 26}, {"Day": "Tuesday", "hour_bin": 11, "call_count": 31}, {"Day": "Tuesday", "hour_bin": 12, "call_count": 49}, {"Day": "Tuesday", "hour_bin": 13, "call_count": 37}, {"Day": "Tuesday", "hour_bin": 14, "call_count": 35}, {"Day": "Tuesday", "hour_bin": 15, "call_count": 45}, {"Day": "Tuesday", "hour_bin": 16, "call_count": 49}, {"Day": "Tuesday", "hour_bin": 17, "call_count": 46}, {"Day": "Tuesday", "hour_bin": 18, "call_count": 44}, {"Day": "Tuesday", "hour_bin": 19, "call_count": 44}, {"Day": "Tuesday", "hour_bin": 20, "call_count": 56}, {"Day": "Tuesday", "hour_bin": 21, "call_count": 33}, {"Day": "Tuesday", "hour_bin": 22, "call_count": 42}, {"Day": "Tuesday", "hour_bin": 23, "call_count": 23}, {"Day": "Wednesday", "hour_bin": 0, "call_count": 36}, {"Day": "Wednesday", "hour_bin": 1, "call_count": 11}, {"Day": "Wednesday", "hour_bin": 2, "call_count": 7}, {"Day": "Wednesday", "hour_bin": 3, "call_count": 9}, {"Day": "Wednesday", "hour_bin": 4, "call_count": 7}, {"Day": "Wednesday", "hour_bin": 5, "call_count": 15}, {"Day": "Wednesday", "hour_bin": 6, "call_count": 9}, {"Day": "Wednesday", "hour_bin": 7, "call_count": 14}, {"Day": "Wednesday", "hour_bin": 8, "call_count": 25}, {"Day": "Wednesday", "hour_bin": 9, "call_count": 28}, {"Day": "Wednesday", "hour_bin": 10, "call_count": 32}, {"Day": "Wednesday", "hour_bin": 11, "call_count": 37}, {"Day": "Wednesday", "hour_bin": 12, "call_count": 43}, {"Day": "Wednesday", "hour_bin": 13, "call_count": 42}, {"Day": "Wednesday", "hour_bin": 14, "call_count": 34}, {"Day": "Wednesday", "hour_bin": 15, "call_count": 34}, {"Day": "Wednesday", "hour_bin": 16, "call_count": 38}, {"Day": "Wednesday", "hour_bin": 17, "call_count": 60}, {"Day": "Wednesday", "hour_bin": 18, "call_count": 55}, {"Day": "Wednesday", "hour_bin": 19, "call_count": 47}, {"Day": "Wednesday", "hour_bin": 20, "call_count": 54}, {"Day": "Wednesday", "hour_bin": 21, "call_count": 39}, {"Day": "Wednesday", "hour_bin": 22, "call_count": 50}, {"Day": "Wednesday", "hour_bin": 23, "call_count": 25}]}}
谢谢!
(1)
要使条形居中,您可以使用堆叠。
{
"$schema": "https://vega.github.io/schema/vega-lite/v4.json",
"data": ...,
"mark": "bar",
"encoding": {
"column": {"type": "nominal", "field": "Day"},
"x": {"type": "quantitative", "field": "call_count", "stack": "center"},
"y": {"type": "ordinal", "field": "hour_bin"}
}
}
(2)
您可以描述标题中的图表。我们现在没有办法合理地合并标题。
(3)
最简单的方法是定义排序顺序
"column": {"type": "nominal", "field": "Day",
"sort": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]}
或者,如果您将数据作为日期,则可以使用时间单位对数据进行分面。但是你需要原始数据。
(4)
同样,您可以使用排序。不过,这确实有点乏味。我必须在这里考虑更多不同的方法。
"y": {"type": "ordinal", "field": "hour_bin",
"sort": [7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,0,1,2,3,4,5,6]}
我不喜欢 KDE,想证明条形图通常也一样好。
我在想
(1) 如果有办法使第二张图表中的条形图居中,这样它看起来更接近小提琴图。但是,如果有任何可视化理论表明我们不应该居中;听到这个也很高兴!
(2)有没有办法去掉重复的x标签,call_counts
,合并成全局标签?
(3) 什么是最简单的安排日子的方式?我可以对数据进行非规范化并将 1/2/3... 添加到 Mon/Tue/Wed 然后按该列排序,但看起来有点乏味。
(4) 有没有办法让时间从早上 7 点而不是 0 点开始? --- 同样,我可以创建一个指定顺序的新列,例如 1/2/3 表示 7/8/9 等,但这又有点乏味。
谢谢!用于第二张图片的 vegalite 代码在底部。
{"config": {"view": {"width": 400, "height": 300}, "mark": {"tooltip": null}}, "data": {"name": "data-48e44ddf7145f9f73a437aa53255a270"}, "mark": "bar", "encoding": {"column": {"type": "nominal", "field": "Day"}, "x": {"type": "quantitative", "field": "call_count"}, "y": {"type": "ordinal", "field": "hour_bin"}}, "height": 200, "width": 50, "$schema": "https://vega.github.io/schema/vega-lite/v3.4.0.json", "datasets": {"data-48e44ddf7145f9f73a437aa53255a270": [{"Day": "Friday", "hour_bin": 0, "call_count": 39}, {"Day": "Friday", "hour_bin": 1, "call_count": 17}, {"Day": "Friday", "hour_bin": 2, "call_count": 10}, {"Day": "Friday", "hour_bin": 3, "call_count": 4}, {"Day": "Friday", "hour_bin": 4, "call_count": 6}, {"Day": "Friday", "hour_bin": 5, "call_count": 8}, {"Day": "Friday", "hour_bin": 6, "call_count": 15}, {"Day": "Friday", "hour_bin": 7, "call_count": 18}, {"Day": "Friday", "hour_bin": 8, "call_count": 28}, {"Day": "Friday", "hour_bin": 9, "call_count": 30}, {"Day": "Friday", "hour_bin": 10, "call_count": 25}, {"Day": "Friday", "hour_bin": 11, "call_count": 29}, {"Day": "Friday", "hour_bin": 12, "call_count": 47}, {"Day": "Friday", "hour_bin": 13, "call_count": 44}, {"Day": "Friday", "hour_bin": 14, "call_count": 32}, {"Day": "Friday", "hour_bin": 15, "call_count": 35}, {"Day": "Friday", "hour_bin": 16, "call_count": 53}, {"Day": "Friday", "hour_bin": 17, "call_count": 51}, {"Day": "Friday", "hour_bin": 18, "call_count": 46}, {"Day": "Friday", "hour_bin": 19, "call_count": 53}, {"Day": "Friday", "hour_bin": 20, "call_count": 59}, {"Day": "Friday", "hour_bin": 21, "call_count": 49}, {"Day": "Friday", "hour_bin": 22, "call_count": 37}, {"Day": "Friday", "hour_bin": 23, "call_count": 43}, {"Day": "Monday", "hour_bin": 0, "call_count": 56}, {"Day": "Monday", "hour_bin": 1, "call_count": 20}, {"Day": "Monday", "hour_bin": 2, "call_count": 11}, {"Day": "Monday", "hour_bin": 3, "call_count": 11}, {"Day": "Monday", "hour_bin": 4, "call_count": 13}, {"Day": "Monday", "hour_bin": 5, "call_count": 8}, {"Day": "Monday", "hour_bin": 6, "call_count": 11}, {"Day": "Monday", "hour_bin": 7, "call_count": 22}, {"Day": "Monday", "hour_bin": 8, "call_count": 26}, {"Day": "Monday", "hour_bin": 9, "call_count": 33}, {"Day": "Monday", "hour_bin": 10, "call_count": 29}, {"Day": "Monday", "hour_bin": 11, "call_count": 28}, {"Day": "Monday", "hour_bin": 12, "call_count": 49}, {"Day": "Monday", "hour_bin": 13, "call_count": 43}, {"Day": "Monday", "hour_bin": 14, "call_count": 33}, {"Day": "Monday", "hour_bin": 15, "call_count": 27}, {"Day": "Monday", "hour_bin": 16, "call_count": 34}, {"Day": "Monday", "hour_bin": 17, "call_count": 53}, {"Day": "Monday", "hour_bin": 18, "call_count": 57}, {"Day": "Monday", "hour_bin": 19, "call_count": 66}, {"Day": "Monday", "hour_bin": 20, "call_count": 47}, {"Day": "Monday", "hour_bin": 21, "call_count": 45}, {"Day": "Monday", "hour_bin": 22, "call_count": 41}, {"Day": "Monday", "hour_bin": 23, "call_count": 25}, {"Day": "Saturday", "hour_bin": 0, "call_count": 58}, {"Day": "Saturday", "hour_bin": 1, "call_count": 20}, {"Day": "Saturday", "hour_bin": 2, "call_count": 22}, {"Day": "Saturday", "hour_bin": 3, "call_count": 21}, {"Day": "Saturday", "hour_bin": 4, "call_count": 16}, {"Day": "Saturday", "hour_bin": 5, "call_count": 4}, {"Day": "Saturday", "hour_bin": 6, "call_count": 8}, {"Day": "Saturday", "hour_bin": 7, "call_count": 13}, {"Day": "Saturday", "hour_bin": 8, "call_count": 21}, {"Day": "Saturday", "hour_bin": 9, "call_count": 26}, {"Day": "Saturday", "hour_bin": 10, "call_count": 34}, {"Day": "Saturday", "hour_bin": 11, "call_count": 32}, {"Day": "Saturday", "hour_bin": 12, "call_count": 32}, {"Day": "Saturday", "hour_bin": 13, "call_count": 30}, {"Day": "Saturday", "hour_bin": 14, "call_count": 38}, {"Day": "Saturday", "hour_bin": 15, "call_count": 34}, {"Day": "Saturday", "hour_bin": 16, "call_count": 37}, {"Day": "Saturday", "hour_bin": 17, "call_count": 46}, {"Day": "Saturday", "hour_bin": 18, "call_count": 40}, {"Day": "Saturday", "hour_bin": 19, "call_count": 48}, {"Day": "Saturday", "hour_bin": 20, "call_count": 34}, {"Day": "Saturday", "hour_bin": 21, "call_count": 44}, {"Day": "Saturday", "hour_bin": 22, "call_count": 48}, {"Day": "Saturday", "hour_bin": 23, "call_count": 43}, {"Day": "Sunday", "hour_bin": 0, "call_count": 44}, {"Day": "Sunday", "hour_bin": 1, "call_count": 34}, {"Day": "Sunday", "hour_bin": 2, "call_count": 19}, {"Day": "Sunday", "hour_bin": 3, "call_count": 8}, {"Day": "Sunday", "hour_bin": 4, "call_count": 13}, {"Day": "Sunday", "hour_bin": 5, "call_count": 5}, {"Day": "Sunday", "hour_bin": 6, "call_count": 9}, {"Day": "Sunday", "hour_bin": 7, "call_count": 16}, {"Day": "Sunday", "hour_bin": 8, "call_count": 26}, {"Day": "Sunday", "hour_bin": 9, "call_count": 22}, {"Day": "Sunday", "hour_bin": 10, "call_count": 23}, {"Day": "Sunday", "hour_bin": 11, "call_count": 27}, {"Day": "Sunday", "hour_bin": 12, "call_count": 29}, {"Day": "Sunday", "hour_bin": 13, "call_count": 24}, {"Day": "Sunday", "hour_bin": 14, "call_count": 29}, {"Day": "Sunday", "hour_bin": 15, "call_count": 38}, {"Day": "Sunday", "hour_bin": 16, "call_count": 31}, {"Day": "Sunday", "hour_bin": 17, "call_count": 32}, {"Day": "Sunday", "hour_bin": 18, "call_count": 41}, {"Day": "Sunday", "hour_bin": 19, "call_count": 40}, {"Day": "Sunday", "hour_bin": 20, "call_count": 45}, {"Day": "Sunday", "hour_bin": 21, "call_count": 40}, {"Day": "Sunday", "hour_bin": 22, "call_count": 38}, {"Day": "Sunday", "hour_bin": 23, "call_count": 27}, {"Day": "Thursday", "hour_bin": 0, "call_count": 45}, {"Day": "Thursday", "hour_bin": 1, "call_count": 18}, {"Day": "Thursday", "hour_bin": 2, "call_count": 15}, {"Day": "Thursday", "hour_bin": 3, "call_count": 12}, {"Day": "Thursday", "hour_bin": 4, "call_count": 8}, {"Day": "Thursday", "hour_bin": 5, "call_count": 11}, {"Day": "Thursday", "hour_bin": 6, "call_count": 8}, {"Day": "Thursday", "hour_bin": 7, "call_count": 12}, {"Day": "Thursday", "hour_bin": 8, "call_count": 30}, {"Day": "Thursday", "hour_bin": 9, "call_count": 16}, {"Day": "Thursday", "hour_bin": 10, "call_count": 23}, {"Day": "Thursday", "hour_bin": 11, "call_count": 42}, {"Day": "Thursday", "hour_bin": 12, "call_count": 39}, {"Day": "Thursday", "hour_bin": 13, "call_count": 41}, {"Day": "Thursday", "hour_bin": 14, "call_count": 42}, {"Day": "Thursday", "hour_bin": 15, "call_count": 42}, {"Day": "Thursday", "hour_bin": 16, "call_count": 40}, {"Day": "Thursday", "hour_bin": 17, "call_count": 45}, {"Day": "Thursday", "hour_bin": 18, "call_count": 56}, {"Day": "Thursday", "hour_bin": 19, "call_count": 49}, {"Day": "Thursday", "hour_bin": 20, "call_count": 52}, {"Day": "Thursday", "hour_bin": 21, "call_count": 45}, {"Day": "Thursday", "hour_bin": 22, "call_count": 41}, {"Day": "Thursday", "hour_bin": 23, "call_count": 39}, {"Day": "Tuesday", "hour_bin": 0, "call_count": 35}, {"Day": "Tuesday", "hour_bin": 1, "call_count": 13}, {"Day": "Tuesday", "hour_bin": 2, "call_count": 20}, {"Day": "Tuesday", "hour_bin": 3, "call_count": 11}, {"Day": "Tuesday", "hour_bin": 4, "call_count": 13}, {"Day": "Tuesday", "hour_bin": 5, "call_count": 10}, {"Day": "Tuesday", "hour_bin": 6, "call_count": 6}, {"Day": "Tuesday", "hour_bin": 7, "call_count": 13}, {"Day": "Tuesday", "hour_bin": 8, "call_count": 25}, {"Day": "Tuesday", "hour_bin": 9, "call_count": 24}, {"Day": "Tuesday", "hour_bin": 10, "call_count": 26}, {"Day": "Tuesday", "hour_bin": 11, "call_count": 31}, {"Day": "Tuesday", "hour_bin": 12, "call_count": 49}, {"Day": "Tuesday", "hour_bin": 13, "call_count": 37}, {"Day": "Tuesday", "hour_bin": 14, "call_count": 35}, {"Day": "Tuesday", "hour_bin": 15, "call_count": 45}, {"Day": "Tuesday", "hour_bin": 16, "call_count": 49}, {"Day": "Tuesday", "hour_bin": 17, "call_count": 46}, {"Day": "Tuesday", "hour_bin": 18, "call_count": 44}, {"Day": "Tuesday", "hour_bin": 19, "call_count": 44}, {"Day": "Tuesday", "hour_bin": 20, "call_count": 56}, {"Day": "Tuesday", "hour_bin": 21, "call_count": 33}, {"Day": "Tuesday", "hour_bin": 22, "call_count": 42}, {"Day": "Tuesday", "hour_bin": 23, "call_count": 23}, {"Day": "Wednesday", "hour_bin": 0, "call_count": 36}, {"Day": "Wednesday", "hour_bin": 1, "call_count": 11}, {"Day": "Wednesday", "hour_bin": 2, "call_count": 7}, {"Day": "Wednesday", "hour_bin": 3, "call_count": 9}, {"Day": "Wednesday", "hour_bin": 4, "call_count": 7}, {"Day": "Wednesday", "hour_bin": 5, "call_count": 15}, {"Day": "Wednesday", "hour_bin": 6, "call_count": 9}, {"Day": "Wednesday", "hour_bin": 7, "call_count": 14}, {"Day": "Wednesday", "hour_bin": 8, "call_count": 25}, {"Day": "Wednesday", "hour_bin": 9, "call_count": 28}, {"Day": "Wednesday", "hour_bin": 10, "call_count": 32}, {"Day": "Wednesday", "hour_bin": 11, "call_count": 37}, {"Day": "Wednesday", "hour_bin": 12, "call_count": 43}, {"Day": "Wednesday", "hour_bin": 13, "call_count": 42}, {"Day": "Wednesday", "hour_bin": 14, "call_count": 34}, {"Day": "Wednesday", "hour_bin": 15, "call_count": 34}, {"Day": "Wednesday", "hour_bin": 16, "call_count": 38}, {"Day": "Wednesday", "hour_bin": 17, "call_count": 60}, {"Day": "Wednesday", "hour_bin": 18, "call_count": 55}, {"Day": "Wednesday", "hour_bin": 19, "call_count": 47}, {"Day": "Wednesday", "hour_bin": 20, "call_count": 54}, {"Day": "Wednesday", "hour_bin": 21, "call_count": 39}, {"Day": "Wednesday", "hour_bin": 22, "call_count": 50}, {"Day": "Wednesday", "hour_bin": 23, "call_count": 25}]}}
谢谢!
(1)
要使条形居中,您可以使用堆叠。
{
"$schema": "https://vega.github.io/schema/vega-lite/v4.json",
"data": ...,
"mark": "bar",
"encoding": {
"column": {"type": "nominal", "field": "Day"},
"x": {"type": "quantitative", "field": "call_count", "stack": "center"},
"y": {"type": "ordinal", "field": "hour_bin"}
}
}
(2)
您可以描述标题中的图表。我们现在没有办法合理地合并标题。
(3)
最简单的方法是定义排序顺序
"column": {"type": "nominal", "field": "Day",
"sort": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]}
或者,如果您将数据作为日期,则可以使用时间单位对数据进行分面。但是你需要原始数据。
(4)
同样,您可以使用排序。不过,这确实有点乏味。我必须在这里考虑更多不同的方法。
"y": {"type": "ordinal", "field": "hour_bin",
"sort": [7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,0,1,2,3,4,5,6]}