【发布时间】:2017-04-11 12:20:21
【问题描述】:
我需要从 R 中导出图形以用于不同的出版物格式,即科学海报、期刊论文、Powerpoint 演示文稿。只要我不知道使用 R-Markdown 和 Latex 或 Sweave 来制作 pdf 幻灯片,我就需要使用 Microsoft 应用程序。
我用 ggplot2 在 R 中做图形。
我的 MWE
df1 <- expand.grid(Year = c(2000, 2010),
Treat = c("TreatA","TreatB"),
Location = c("Berlin", "Munich", "Kansas", "Paris"),
rep = c(1,2,3,4,5,6,7,8,9,10))
df1 <- cbind(df1,
Var1 = runif(160, -10,25) + rnorm(160,8,4))
我的图形代码:
p1 <- ggplot(aes(y = Var1, x = Treat, na.rm=TRUE, fill=Location), data = df1) +
stat_boxplot(geom ='errorbar', width= 0.5) +
geom_boxplot(outlier.shape = 1, outlier.size = 2, linetype="solid", size = 1) +
facet_grid( Year ~ Location) +
scale_y_continuous(limits=c(-20,60)) +
scale_fill_manual(values=c("#E69F00", "#009E73", "#0072B2", "#D55E00")) +
ylab("Magic Skills") +
xlab("Magic Juice") +
theme(text=element_text(family="Arial", size=18),
axis.text.x = element_text(angle = 30, hjust = 1),
line=element_line(size=1),
rect=element_rect(colour="red", size=1),
panel.background=element_rect(colour="black",fill="white", size=1),
strip.background=element_rect(colour="dark grey", fill="black"),
strip.text=element_text(face="bold", colour="white"),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
legend.position="none");p1
我如何保存图表:
ggsave(p1, file="Results/Figures/Abb2_Boxplots_LarvenPuppen2.svg", width=35, height=20, units = "cm", dpi=500)
我使用“theme(text=element_text(family="Arial", size=18)”为整个图表设置字体大小。 在 ggsave 期间,我调整了高度和宽度,对于海报,高度应为 20 厘米,宽度为 35 厘米。我保存在 .svg 中,因为我在图形质量方面获得了最佳体验,而且我可以随时在 Inkscape 中编辑任何内容,这很棒!
到目前为止,一切都很好,但似乎文本绝不是 18 pt,稍后在 powerpoint-poster 中,在从 Inkscape 将图形(无需编辑!)导出为 .png 之后。它甚至不是 20 x 35 厘米,我发现我在保存和导出过程中松动了大约 5 厘米或更多。
我猜 R 正在写,当我说保存 20x35 厘米时,R 会写。我的设置在整个过程中哪里发生了变化,我该如何处理?
最好的问候, 药丸
【问题讨论】: