在1 pdf内绘制4个不同的情节

时间:2012-11-09 16:01:41

标签: r

我有2个数据框,我想从它们生成3个图,并将它们作为单个列放在1个pdf文件中。

我希望所有的图都具有相同的x轴限制(基本上是相同的x轴),甚至认为它们的名称和获取方式不同。

数据框看起来像这样:

d1

     X          Y       Z
0.04939317 -0.4622222  13651
0.03202451 -0.4261000  13401
0.09950793 -0.3233025  13151
0.11548556 -0.4637981  12486
0.09817597 -0.4751886  12236
0.15770701 -0.5819355  11986

和d2

   V0  V1   V2    V3   sign
   1   1  0.379 0.612   pos
   2   1  0.378 0.620   pos
   3   1  0.578 0.571   neg
   4   1  0.978 0.561   pos
   5   1  0.758 0.261   neg
   6   1  0.378 0.126   neg

P.S:两个数据框都比这大,这只是其中的一部分

V0,V1和Z的范围为1至20000

我创建的图是:

来自d2

d2plot=ggplot(d1, aes(V0,V1, fill=sign)) + 
    geom_tile()+ scale_fill_manual(values = c("neg" = "yellow", "pos"="red")) +
    geom_vline(xintercept =10000 ) +
    geom_text(mapping=aes(x=10000,y=0, label="Stop"), 
    size=4, angle=90, vjust=-0.4, hjust=0)

来自d1

d1plot = ggplot(d2) + 
    geom_errorbarh(aes(x=z,xmin=z-50,xmax=z+50, y=Y, height = 0.02),
    color="red")+ opts(legend.position = "none")  +
    geom_vline(xintercept = 10000) +
    geom_text(mapping=aes(x=10000,y=-0.3, label="Stop"), 
    size=4, angle=90, vjust=-0.4, hjust=0)

我已经尝试了grid.arrange(d1plot, d2plot, ncol=1),但每个情节的x轴不同,我尝试更改纵横比,但这会改变y轴..我也尝试使用{{1但是我的x轴值具有不同值的问题,我只想要限制和间隔相同,并且所有图都基于1 x轴在1列中对齐,以比较统计方法的值一个简单的方法。

2 个答案:

答案 0 :(得分:1)

如果手动设置x轴限制,它应该有效。

添加

+ coord_cartesian(xlim = c(1, 20000))
在合并之前

到每个情节。


要获得不同的宽高比,您可以使用

+ coord_fixed(xlim = c(1, 20000), ylim = c(1, 20000))

更改每个绘图的ylim参数以适合您的实际数据。

答案 1 :(得分:1)

您还可以将每个单独的绘图保护为PDF,然后在Adobe Illustrator或Inkscape中打开它们,并将这些元素复制到一个PDF中。这也将让你有机会在你的图表上添加一些内容并添加一些额外的解释等。在这个网站(http://flowingdata.com)上有很多教程可以帮助你,但基础非常简单。安全R绘制为PDF并在Illustrator中打开,您可以选择所有元素(因此也可以复制和组合它们)。祝你好运!

相关问题