我试图为一份手稿做数字,这应该是用MS Word写的,它不接受pdf格式的数字。该杂志要求在Word文件中嵌入数字的初稿。这些图形的分辨率最低应为300dpi,宽度为169 mm或81 mm (两列/一列)。我注意到,当我将图片的分辨率指定为300 (res = 300)时,字体大小将绑定到此值。这在某些图形(第一个例子,example.png)上运行良好,而在其他图形(example2.png)上效果更差。如何控制字体大小,使图形的大小和分辨率保持不变?
library(ggplot2)
library(grid)
data(iris)
vplayout <- function(x, y) viewport(layout.pos.row = x, layout.pos.col = y)
p <- ggplot(iris, aes(Species, Petal.Length))
q <- ggplot(iris, aes(Species, Petal.Width))
len <- p + geom_boxplot()
wid <- q + geom_boxplot()
png("example.png", width = 169, height = 100, units = "mm", res = 300)
grid.newpage()
pushViewport(viewport(layout = grid.layout(1, 2)))
print(len, vp = vplayout(1, 1))
print(wid, vp = vplayout(1, 2))
dev.off()
png("example2.png", width = 81, height = 100, units = "mm", res = 300)
grid.newpage()
pushViewport(viewport(layout = grid.layout(1, 2)))
print(len, vp = vplayout(1, 1))
print(wid, vp = vplayout(1, 2))
dev.off()换句话说,我希望减小example2.png中的字体大小,但保持两个图的布局和尺寸不变。

Example.png

Example2.png
发布于 2012-04-25 01:15:15
使用theme_XXX()函数的base_size参数,可以更改所有文本的整体字体大小。
png("example2.png", width = 81, height = 100, units = "mm", res = 300)
grid.newpage()
pushViewport(viewport(layout = grid.layout(1, 2)))
print(len + theme_gray(base_size=12*(81/169)), vp = vplayout(1, 1))
print(wid + theme_gray(base_size=12*(81/169)), vp = vplayout(1, 2))
dev.off()

https://stackoverflow.com/questions/10302364
复制相似问题