代码之家  ›  专栏  ›  技术社区  ›  Maiasaura

如何使y轴在ggplot2的0处与x轴相交?

  •  8
  • Maiasaura  · 技术社区  · 16 年前

    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 回复  |  直到 16 年前
        1
  •  6
  •   Matt Parker    16 年前

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

    + xlim(0, 90) ,它具有类似的效果-但也会从数据集中删除超出其边界的任何数据。如果您试图放大应该使用整个数据集(例如,平滑)计算的几何体的特征,这可能会有问题,因为它仅根据限制内的内容重新计算这些几何体。coord\u cartesian()计算完整数据集中的所有几何图形,然后将窗口限制为您指定的范围。

        2
  •  10
  •   Community Mohan Dere    9 年前

    下面是另一个解决方案:

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

    Margin adjustments when using ggplot’s geom_tile()