在网格中排列8个图和一个图例

时间:2017-06-24 12:32:12

标签: r plot ggplot2 gridextra cowplot

我有8个图和一个图例,我想在3x3网格中排列,以便轴都对齐。

当我没有将图例包含在我的网格中时它完全正常,但是一旦我添加了图例,我的图就会移动并且不再对齐。

plot_grid(SiO2TiO2, SiO2Al2O3, SiO2FeO, SiO2MgO, SiO2CaO, SiO2Na2O, SiO2K2O, SiO2P2O5, align=c("hv"),nrow = 3, ncol = 3)

在没有图例的3x3网格中对齐的图:

plot_grid(SiO2TiO2, SiO2Al2O3, SiO2FeO, SiO2MgO, SiO2CaO, SiO2Na2O, SiO2K2O, SiO2P2O5, legend, align=c("hv"),nrow = 3, ncol = 3)
  

警告讯息:

     

1:在align_plots中(plotlist = plots,align = align):     图形不能垂直对齐。放置图形未对齐。

     

2:在align_plots中(plotlist = plots,align = align):     图形不能水平对齐。放置图形未对齐。

未使用图例在3x3网格中对齐绘图:

任何人都知道如何将图例与情节对齐? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

也许您必须在grid.arrange命令中定义绘图的宽度。

如下例所示:

plot_grid(SiO2TiO2, SiO2Al2O3, SiO2FeO, SiO2MgO, SiO2CaO, SiO2Na2O, SiO2K2O, SiO2P2O5, legend, align=c("hv"), nrow = 3, ncol = 3, widths=c(2.3, 2.3, 2.3))