【发布时间】:2020-06-16 21:58:18
【问题描述】:
我用 ggplot2 获得了六个用于正态性分析的图:2 个直方图、2 个 qqplots 和 2 个箱线图。
我想按绘图类型将它们一起显示:所以第一行是直方图,第二行是 qqplots,第三行是箱线图。为此,我使用 gridExtra 包中的 grid.arrange 函数,如下所示:
grid.arrange(grobs= list(plot1, plot2, qqplot1, qqplot2, boxplot1, boxplot2),
ncol=2, nrow=3,
top = ("Histograms + Quantile Graphics + Boxplots"))
但是弹出这个错误信息:
Error: stat_bin() requires an x or y aesthetic.
知道如何解决这个问题吗?
【问题讨论】:
-
它不是来自 gridextra,你的一个图不起作用,在合并之前测试每个图。
-
您的其中一个情节似乎存在问题。该错误消息表明您错误地设置了直方图的美学。
geom_histogram只需要一个变量。可以分享一下代码吗?建议使用do.call("grid.arrange", c(plot_list, ncol = 2, nrow = 3))和plot_list作为你的地块列表,因为grid.arrange需要grobs、gtables、ggplot 或trellis 对象,而不是这些对象的列表。