我试图用geom_jitter来绘制一个get图,以便更好地可视化我的测量方法的变化。守则如下:
ggplot(data) +
geom_bar(stat="summary", fun.y="mean", aes(x=cohort, y=., fill=time), position="dodge") +
geom_jitter(aes(x=cohort, y=., colour=time), size=0.5)geom_bar是与colour和position="dodge"一起分组的,以便使条形图并排排列,但是geom_jitter不识别position="dodge"参数,因此点均匀地分布在两个colour列的整个宽度上,如下所示(显然颜色不是很好,我已经将代码简化为关键的部分):

如何使geom_jitter与geom_bar的列对齐
如果您想要复制这个数据,数据的设置基本上如下所示:
data <- read.table(header=TRUE, text='
subj cohort time .
1 EL1 t1 0.433
2 EL1 t1 0.545
3 EL1 t1 0.698
4 EL1 t1 0.224
5 EL1 t1 0.463
6 HL1 t1 0.211
7 HL1 t1 0.702
8 HL1 t1 0.310
9 HL1 t1 0.822
10 EL1 t1 0.0
11 EL1 t1 0.544
12 EL1 t1 0.234
13 EL1 t1 0.492
14 HL1 t2 0.234
15 HL1 t2 0.755
16 HL1 t2 0.321
17 HL1 t2 0.600
18 EL1 t2 0.0
19 EL1 t2 0.522
20 EL1 t2 0.624
21 EL1 t2 0.239
22 EL1 t2 0.474
23 HL1 t2 0.293
24 HL1 t2 0.599
25 HL1 t2 0.310
26 HL1 t2 0.411
')发布于 2019-03-01 17:33:08
与其使用geom_jitter (这只是geom_point(position="jitter")的缩写),您可以使用geom_point(position=position_jitterdodge()),这将允许同时具有抖动和躲避。
ggplot(data) +
geom_bar(stat="summary", fun.y="mean", aes(x=cohort, y=., fill=time), position="dodge") +
geom_point(aes(x=cohort, y=., colour=time), size=0.5, position=position_jitterdodge())它提供请求的输出:

https://stackoverflow.com/questions/54949456
复制相似问题