0

我有 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

PS:两个数据帧都比这个大,这只是其中的一部分

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 轴..我也尝试过使用facet_wrap,但是我的 x 轴值不同的问题值,我只希望限制和中断相同,并且所有图都基于 1 个 x 轴在 1 列中对齐,以便以简单的方式比较统计方法的值。

4

2 回答 2

1

如果您手动设置 x 轴限制,它应该可以工作。

添加

+ coord_cartesian(xlim = c(1, 20000))

在组合它们之前到每个地块。


要获得不同的纵横比,您可以使用

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

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

于 2012-11-11T16:53:04.387 回答
1

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

于 2012-11-11T16:58:55.737 回答