R 偏移同一类别的两个几何点
我试图绘制这些数据:R 偏移同一类别的两个几何点,r,ggplot2,R,Ggplot2,我试图绘制这些数据: data(comp) Habitat Used Available SDU SDA 1 Forest 63.2 85.1 32.0 12.8 2 Open 18.9 3.3 24.8 1.4 3 Edge 15.4 7.8 10.0 4.6 4 Wetland 2.5 1.2 6.1 3.5 5 Developed 0.0 3.5 0.0 6.7 使用此代码: g
data(comp)
Habitat Used Available SDU SDA
1 Forest 63.2 85.1 32.0 12.8
2 Open 18.9 3.3 24.8 1.4
3 Edge 15.4 7.8 10.0 4.6
4 Wetland 2.5 1.2 6.1 3.5
5 Developed 0.0 3.5 0.0 6.7
使用此代码:
ggplot()+
geom_point(data=comp,size=3,fill="white",shape=21,aes(x=Habitat,y=Available))+
geom_errorbar(data=comp,aes(x=Habitat,ymin=Available-SDA,ymax=Available+SDA,width=.1))+
geom_point(data=comp,size=3,fill="black",shape=21,aes(x=Habitat,y=Used))+
geom_errorbar(data=comp,aes(x=Habitat,ymin=Used-SDU,ymax=Used+SDU,width=.1))+
theme_classic()
这给了我这个
:
好极了
但是,无法读取这些错误条,因为它们是重叠的!如何偏移这两个点(可能用于“左侧”,而“可用”用于右侧),以便正确查看每个错误条
我尝试过位置闪避和几何抖动,而不是几何点,但我无法让它们工作。我尝试过搜索,但没有多大成功
提前谢谢你 将您的数据转换为“长”格式,然后您就可以将使用的和可用的地图映射到颜色美学。这样可以更容易地区分它们,减少所需的代码量,并且可以轻松地避开它们(使用position\u dodge()
),这样它们就不会重叠:
library(reshape2)
library(ggplot2)
comp.m = melt(comp, id.var="Habitat")
comp.m = data.frame(comp.m[1:10,], err=comp.m[11:20,3])
pd = position_dodge(0.5)
ggplot(comp.m) +
geom_point(aes(Habitat, value, color=variable), position=pd) +
geom_errorbar(aes(Habitat, ymin=value - err, ymax=value + err,
color=variable), width=0.3, position=pd) +
theme_classic() +
labs(color="")