如何在ggplot2中使y轴与x轴相交为0?

时间:2010-06-29 21:13:57

标签: r ggplot2

因此,当我制作情节时,有时候我会看到y在某个偏移处交叉x。我使用:

生成了这个数字
ggplot(data=d2,aes(y=log10(Nems+1),x=Time)) +
  geom_point(size=3,shape=1) +        
  geom_line(data=d2,aes(x=time_model,y=log10(value),group=variable,linetype=variable)) +
  ylim(0.001,2) + no_bg + draw_axis

我最终在Illustrator中手动移动y。有没有办法在这里做到这一点?

alt text http://img816.imageshack.us/img816/7633/testzh.png

2 个答案:

答案 0 :(得分:9)

这是另一种解决方案:

... + scale_x_continuous(expand=c(0,0))

另请参阅此相关问题:Margin adjustments when using ggplot’s geom_tile()

答案 1 :(得分:6)

尝试将此添加到您的地图中:+ coord_cartesian(xlim = c(0, 90))

这应该将x轴限制为0到90。

您也可以执行具有类似效果的+ xlim(0, 90),但也会从数据集中删除其边界之外的所有数据。如果你试图放大应该使用整个数据集计算的geoms特征(例如,smooths),这可能会有问题,因为它只根据限制内的内容重新计算这些geom。 coord_cartesian()从完整数据集中计算所有geom,然后将窗口限制为您指定的内容。