gpt4 book ai didi

r - Geom_point 和 geom_errorbar 不对齐

转载 作者:行者123 更新时间:2023-12-04 10:49:28 25 4
gpt4 key购买 nike

我是 R 新手,并且 ggplot 和以下数据集(从较大的集合中选择作为代表)存在问题,其中 geom_errorbar 条与平均点不对齐(使用 geom_point),并且在某些情况下,水平条不与垂直对齐geom_errorbar 中的 bar ,这样就不会出现顶部和底部带有横杆的“I”,横杆与垂直线或偏离中心分开。

我已经查看了 ggplotgeom_pointgeom_errorbarposition_jitter (dodge, jitterdodge) 的所有手册页。我也从这里尝试了很多东西,例如改变 geom_pointgeom_errorbar 调用中的美学(例如 How to make dodge in geom_bar agree with dodge in geom_errorbar, geom_point )

这是一个基本的数据集:

df <- structure(list(
Test = c("A", "B", "C", "D", "A", "C", "D"),
mean = c(1, 100.793684, 1, 1, 51.615601, 1, 2.456456),
sd = c(1, 2.045985, 1, 1, 4.790053, 1, 4.250668),
lower = c(2, 102.839669, 2, 2, 56.405654, 2, 6.707124),
upper = c(0, 98.747699, 0, 0, 46.825548, 0, -1.79421)),
row.names = c(NA, -7L), class = c("tbl_df", "tbl", "data.frame"))

现在我使用的代码:
subplot <- ggplot(df, aes(x = Test, y = mean)) +
geom_point(aes(x= Test, y = mean),
position = position_jitter(width = 0.2, height = 0.2))+
geom_errorbar(aes(ymin = lower, ymax = upper),
width = 0.1,
position = position_jitter(width = 0.2, height = 0.2))
subplot

这就是我得到的:

Output of code above

我怀疑这是我错过的基本知识。我在折线图和其他散点图中使用了相同的代码,结果很好,所以我对我所做的事情感到迷茫。我也在不同的计算机上对两个不同的 R 安装进行了测试。

非常感谢任何帮助。

最佳答案

第一的,

Test = c("A", "B", "C", "D", "A", "C", "D")
mean = c(1, 100.793684, 1, 1, 51.615601, 1, 2.456456)
sd = c(1, 2.045985, 1, 1, 4.790053, 1, 4.250668)
lower = (mean+sd)
upper = (mean-sd)
range = 1:length(Test)

df <- data.frame(Test,mean,sd,lower,upper,range)

然后
subplot <- ggplot(df, aes(x = Test, y = mean,group=range)) +
geom_point(position = position_dodge(width = 0.2))+
geom_errorbar(aes(ymin = lower, ymax = upper),
width = 0.1, position = position_dodge(width = 0.2))
subplot

image of plot

关于r - Geom_point 和 geom_errorbar 不对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52789019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com