我正试图在一个箱线图上分层。点和箱图都来自相同的数据源:db_gems_spend。唯一的区别是它们是如何过滤的(boxplot的日期范围和点的一天)。最终目标是为图表添加交互性,这样我就可以选择一个日期,并通过查看点落在特定方块图上的位置,立即查看当天与其他日期的比较。
问题是这些点目前没有与箱形图对齐。
这是代码:
db_gems_spend %>%
filter(dayofweek == "Fri") %>% # add interactivity (automate dayofweek selection)
filter(date >= "2015-08-01") %>% # add interactivity
ggvis(~action_type, ~count) %>%
layer_boxplots() %>%
add_axis("x", title = "action_type", title_offset = 50,
properties = axis_props(labels = list(angle = 20, align = "left", fontSize = 10))) %>%
add_axis("y", title = "count", title_offset = 60) %>%
add_data(db_gems_spend) %>%
filter(date == "2015-11-04") %>% # add interactivity
layer_points(x = ~action_type, y = ~count, fill := "red")
如何让这些点对齐?
答案 0 :(得分:0)
db_gems_spend %>%
ggvis(~action_type, ~(count/total_spend)) %>%
layer_boxplots() %>%
add_data(db_gems_spend) %>%
layer_points(x = ~action_type, y = ~count, fill := "red",
prop("x", ~action_type, scale = "xcenter"))
感谢aosmith,github上的解决方案正是我所寻找的。事实证明,如果值是分类而不是数字,ggvis会将layer_points对齐layer_boxplots的左侧,除非您指定上面的最后一行代码。