在散布的散布图上叠加分组的条形图

时间:2019-02-08 11:24:23

标签: r plotly r-plotly

我正在尝试将散点图叠加在已分组的条形图的顶部。但是,在简单的条形图中,散点正确地放置在各个条的顶部,而在分组的条形图中,散点不会自动调整。

以下是演示该问题的示例:

set.seed(1)
d1 <- data.frame(x=rep(c('a', 'b', 'c'), each=2),
                 y=rnorm(6, mean=10),
                 c=rep(c('q', 'r'), times=3))
d2 <- d1[d1$c=='q', ]

p1 <- plot_ly(data=d2, x=~x, y=~y, type='bar')
p2 <- add_trace(p1, data=d2, x=~x, y=~y, 
                type='scatter', mode='markers', marker=list(size=20))
p3 <- plot_ly(data=d1, x=~x, y=~y, color=~c, type='bar')
p4 <- add_trace(p3, data=d1, x=~x, y=~y, 
                type='scatter', mode='markers', marker=list(size=20))

subplot(p1, p2, p3, p4, nrows=2)

这将产生下图: enter image description here

在右上角的面板(p2)中,将点放置在其各自的条上,而在右下角的区域(p4)中,这些点不适应色彩因数。

我可以想象通过将x设置为数字变量并手动操作,将点进行少量调整等来解决此问题。但这似乎很乏味。有一种简单的方法可以使绘图进行调整吗?

(显然,目标不是要在每个小节的顶部显示单个点,而是将小节上覆盖整个云)

1 个答案:

答案 0 :(得分:0)

根据您要执行的操作,可以使用error bars,可以使用widththicknesscolor参数使它看起来像定期散布(width指向末端的行,thickness指向晶须,thickness = 0应该将其取出)。