【问题标题】:Outputting a textplot and qplot in same pdf or png in r在 r 中以相同的 pdf 或 png 输出 textplot 和 qplot
【发布时间】:2012-07-21 03:24:04
【问题描述】:

我有一个使用 ggplot2 包中的 plot 生成的直方图:

以及使用 gplots 包中的 textplot 生成的表格

如果可能,我想以相同的 pdf 或 png 显示它们。

我试过 grid.arrange 没有运气。还有其他建议吗?由于每个表只有 5 行长,我还考虑将它作为 qplot 边缘的“图例”或文本框插入到绘图中。关于如何使它看起来不错的任何建议?感谢您的想法。

解决方案##

最后,不幸的是,我的配色方案看起来更糟……我已将此问题作为一个新问题发布。

【问题讨论】:

  • 您是否尝试过使用grid.table 制作表格,然后在grid.arrange 中使用它?

标签: r legend ggplot2


【解决方案1】:

试试这个,

library(ggplot2)
library(gridExtra)

g = tableGrob(iris[1:2, 1:2])

p = qplot(1:10, 1:10, geom = "blank") +
     annotation_custom(g) # as inset

grid.arrange(p, g, ncol=1) # stacked
ggsave("plot-table.pdf", arrangeGrob(p, g, ncol=1))

【讨论】:

  • 谢谢!我最终使用了 inset 选项(我将它添加到问题中)。我的下一个问题是我需要让每个条形图的片段更好地突出……它们现在都变得模糊了。此外,我需要让关键比例方向与直方图中的方向相同。他们目前正朝着相反的方向前进,这令人困惑。无论如何,我为此提出了一个新问题,所以如果你觉得很感兴趣...... :)
  • 拜托,是否也可以为绘图表添加标题?
【解决方案2】:

这是 gridExtra 库的示例

my_hist<-ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar()  
my_table<- tableGrob(head(diamonds)[,1:3],gpar.coretext = gpar(fontsize=8),gpar.coltext=gpar(fontsize=8), gpar.rowtext=gpar(fontsize=8))  
pdf("myplot.pdf")  
grid.arrange(my_hist,my_table, ncol=2)  
dev.off()

您可以更改表格中的字体大小,以及 pdf 的大小:pdf("myplot.pdf",width=10, height = 6)
如果您喜欢不同的安排,您可能还需要一个空白面板:
空白面板

【讨论】:

    猜你喜欢
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 2010-12-26
    • 1970-01-01
    • 2017-04-19
    • 2011-01-28
    • 2018-10-18
    相关资源
    最近更新 更多