与ggplot2的透明背景图表在高分辨率,R
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了与ggplot2的透明背景图表在高分辨率,R相关的知识,希望对你有一定的参考价值。
我有一个类似于以下示例的dataframe
,我想将两个图与grid.arrange
组合,然后以高分辨率和透明背景导出它们。我得到了透明的情节,分辨率很糟糕。
任何想法如何做到这一点?
我看过一些帖子(post1,post2),但我需要高分辨率的图(大约600-800)
谢谢。
d <- iris
o1=ggplot(d, aes(x=d$Sepal.Length, y=d$Sepal.Width))+geom_smooth(method=lm,alpha=0.25,col='seagreen',lwd=0.1) +ylim(0,8)+xlim(0,8)+
geom_point(shape=23,fill="black",size=0.2)+theme_bw()+theme(plot.background = element_blank(),panel.grid.major = element_blank()
,panel.grid.minor = element_blank()) +labs(x="bla bla",y="bla bla")+
theme(axis.title.x = element_text(face="bold", size=8),axis.text.x = element_text(size=5))+
theme(axis.title.y = element_text(face="bold", size=8),axis.text.y = element_text(size=5))+
theme(plot.title = element_text(lineheight=.8, face="bold",size=8))+theme(
panel.background = element_rect(fill = "transparent",colour = NA),
panel.grid.minor = element_blank(),
panel.grid.major = element_blank())
o2=ggplot(d, aes(x=d$Sepal.Length, y=d$Petal.Length))+geom_smooth(method=lm,alpha=0.25,col='seagreen',lwd=0.1) +ylim(0,8)+xlim(0,8)+
geom_point(shape=23,fill="black",size=0.2)+theme_bw()+theme(plot.background = element_blank(),panel.grid.major = element_blank()
,panel.grid.minor = element_blank()) +labs(x="bla bla",y="bla bla")+
theme(axis.title.x = element_text(face="bold", size=8),axis.text.x = element_text(size=5))+
theme(axis.title.y = element_text(face="bold", size=8),axis.text.y = element_text(size=5))+
theme(plot.title = element_text(lineheight=.8, face="bold",size=8))+theme(
panel.background = element_rect(fill = "transparent",colour = NA),
panel.grid.minor = element_blank(),
panel.grid.major = element_blank())
png(bg = "transparent")
grid.arrange(o1,o2,ncol=1)
dev.copy(png,"graph.png",width=20,height=15,units="cm",res=800)
dev.off(dev.prev())
dev.off()
答案
您需要在png
中指定尺寸和分辨率。这适合我
png("graph.png", width=20, height=15, units="cm", res=800, bg="transparent")
gridExtra::grid.arrange(o1, o2, ncol=1)
dev.off()
你也可以使用qazxsw poi。在这里,我使用qazxsw poi来组合qazxsw poi和ggsave
cowplot::plot_grid
以上是关于与ggplot2的透明背景图表在高分辨率,R的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ggplot2 在 R 中制作具有透明背景的图形?
为啥 tiff 输出看起来与 R studio 中的 ggplot2 输出不同?
R语言ggplot2可视化将X轴置于ggplot2图表顶部实战