18
df <- data.frame(age=c(10,10,20,20,25,25,25),veg=c(0,1,0,1,1,0,1))
g=ggplot(data=df,aes(x=age,y=veg))
g=g+stat_summary(fun.y=mean,geom="point")

点反映了每个年龄的蔬菜的平均值,这是我在使用以下命令更改轴限制后所期望并希望保留的。

g=g+ylim(0.2,1)

不幸的是,使用上述命令更改轴限制会导致 veg==0 子集从数据中删除,从而产生

“警告消息:删除了 4 行包含缺失值 (stat_summary)”

这很糟糕,因为现在数据图(stat_summary mean)省略了 veg==0 点。如何防止这种情况?我只是想避免显示绘图的空白部分——从 0 到 .2 的纵坐标,但不要从 stat_summary 计算中删除相关数据。

4

1 回答 1

29

您可以通过指定坐标系统来做到这一点:

df <- data.frame(age=c(10,10,20,20,25,25,25),veg=c(0,1,0,1,1,0,1))
g=ggplot(data=df,aes(x=age,y=veg))
g=g+stat_summary(fun.y=mean,geom="point")
g+coord_cartesian(ylim=c(0.2,1)) #do not use +ylim() here
于 2010-04-13T00:37:56.627 回答