r - 大小参数在 ggplot2 的 geom_errorbar 中不起作用
问题描述
我正在尝试创建一个值范围图,以便可以将它们与一个唯一范围(由图中的灰色矩形表示)进行比较。我让图表像我想要的那样工作,但我无法有效地改变我用来表示值范围的误差线的线宽。下面的代码带有示例图。
### Graph with default line weights
ggplot(data=droplevels(wght2[which(wght2$Zone!="Oahu"),]), aes(x=wght2$num[wght2$Zone!="Oahu"], y=(wght2[which(wght2$Zone!="Oahu"),4]+wght2[which(wght2$Zone!="Oahu"),4+3])/2,
group= wght2[which(wght2$Zone!="Oahu"),2], color= wght2[which(wght2$Zone!="Oahu"),2])) +
geom_errorbar(aes(ymin=wght2[which(wght2$Zone!="Oahu"),4], ymax=wght2[which(wght2$Zone!="Oahu"),4+3], width=0.3, color=wght2[which(wght2$Zone!="Oahu"),2])) +
geom_rect(ymin=wght2[8,4], ymax=wght2[8,4+3], xmin=0.5, xmax=6+0.5, fill="gray25", linetype=0, alpha=0.07)+
scale_color_manual(values=c("forestgreen","deepskyblue3","gold"))+
scale_x_continuous(labels=levels(wght2$Zone), breaks=c(1,2,3.5,5.5))+
labs(x="Zone",y=measure3[4]) +
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.text = element_text(size = 16),
legend.title = element_text(size=16),
axis.text = element_text(size = 16,colour="black"),
axis.title = element_text(size = 18)) +
theme(legend.position="topright")
### My attempt to change line weights
ggplot(data=droplevels(wght2[which(wght2$Zone!="Oahu"),]), aes(x=wght2$num[wght2$Zone!="Oahu"], y=(wght2[which(wght2$Zone!="Oahu"),4]+wght2[which(wght2$Zone!="Oahu"),4+3])/2,
group= wght2[which(wght2$Zone!="Oahu"),2], color= wght2[which(wght2$Zone!="Oahu"),2])) +
geom_errorbar(aes(ymin=wght2[which(wght2$Zone!="Oahu"),4], ymax=wght2[which(wght2$Zone!="Oahu"),4+3], width=0.3, size=0.5, color=wght2[which(wght2$Zone!="Oahu"),2])) +
geom_rect(ymin=wght2[8,4], ymax=wght2[8,4+3], xmin=0.5, xmax=6+0.5, fill="gray25", linetype=0, alpha=0.07)+
scale_color_manual(values=c("forestgreen","deepskyblue3","gold"))+
scale_x_continuous(labels=levels(wght2$Zone), breaks=c(1,2,3.5,5.5))+
labs(x="Zone",y=measure3[4]) +
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.text = element_text(size = 16),
legend.title = element_text(size=16),
axis.text = element_text(size = 16,colour="black"),
axis.title = element_text(size = 18)) +
theme(legend.position="topright")
从我的代码中可以看出,当我在 geom_errorbar 的 'aes' 函数中包含 'size' 参数时,即使我将其设置为默认值 0.5,线宽也会变得很大。
任何有关如何更改 geom_errorbar 中线宽的建议将不胜感激。我知道我可以用 geom_segment 画出每条线,但觉得使用 geom_errorbar 应该可以工作,并且想知道为什么不能。谢谢!
解决方案
推荐阅读
- tensorflow - TensorFlow中的Hebian学习规则
- javascript - 仅当 div 的宽度超过特定高度 javascript 时如何显示按钮?
- php - 如何使用 BIND_RESULT & FETCH 而不是 mysqlnd 驱动程序
- java - 如何在 PostgreSQL 中将日期格式设置为 YYYY-MM-DDTHH:MI:SS
- fortran - 使用 OpenMP 的 Gauss Siedel 迭代求解器不收敛
- image - 使用 Flutter Image Picker 保证用户已经选择了图像
- jquery - 由“,”和“和”分隔的复选框值
- react-native - 如何与 React Native 共享可点击的图像
- javascript - 在 JS 中将 Firebase 添加到 Chrome 扩展时出错
- html - 我无法通过汉堡将电话图标定位在页脚中