我使用here中的multiplot
函数将graph<-ggplot(...)
形式的多个图表与行
png(filename = "qwerty.png", width = 1024, height = 1024, units = "px",
pointsize = 11, bg = "white", res = 150)
multiplot(graph1,graph2,...., layout=matrix(c(1,2,3,4,5,6,7,8), nrow=8,
byrow=TRUE))
dev.off()
我想在第一张图表上方添加几行文字,例如,对于某些字母,文字可以使用粗体进行复杂编辑。
我试图在multiplot
mtext(expression(paste("only ", bold("a"), " should be bold")), 1, 1)
但我收到了错误
Error in mtext(expression(paste("only ", bold("a"), " should be bold")), :
plot.new has not been called yet`
使用我的文字&#39;&#39;作为图表&#39;堆叠另一个空图表是否更好? ?如果是这样,我该怎么做?
这些数据可用于构建图表
p1 <- ggplot((subset(mtcars, gear==4)), aes(x=mpg, y=hp)) +
geom_point() +
ggtitle("4 gears")
p2<-ggplot((subset(mtcars, gear==3)), aes(x=mpg, y=hp)) +
geom_point() +
ggtitle("3 gears")
multiplot(p1, p2, cols=2)
答案 0 :(得分:1)
您可以使用grid.arrange:
代替多重绘图library(gridExtra)
grid.arrange(arrangeGrob(p1,p2,ncol=2, nrow=1), main = "Here your title should be inserted",nrow=1)
如果您想调整一些文本参数,以下内容可能有所帮助:
grid.arrange(arrangeGrob(p1,p2,ncol=2, nrow=1), main = textGrob("Here your title should be inserted",gp=gpar(fontsize=16, font=2)))
保存文件:
png("example-plot.png")
grid.arrange(arrangeGrob(p1,p2,ncol=2, nrow=1), main = textGrob("Here your title should be inserted",gp=gpar(fontsize=16, font=2)))
dev.off()