更改ylim(轴限制)会使数据落在范围之外。如何防止这种情况?

时间:2010-04-13 00:14:16

标签: r ggplot2

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计算中的相关数据。

1 个答案:

答案 0 :(得分:26)

你可以通过指定coord系统来做到这一点:

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