如何在png中控制字体大小?

Mik*_*kko 5 png r figure ggplot2 r-grid

我试图为手稿制作数字,应该用MS Word书写,不接受pdf格式的数字.该期刊要求初稿中包含Word文件中嵌入的数字.这些数字的分辨率最低为300 dpi,宽度为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()
Run Code Online (Sandbox Code Playgroud)

换句话说,我想减少example2.png中的字体大小,但保持两个图的布局和尺寸不变.

example.png Example.png

example2.png Example2.png

Bri*_*ggs 6

使用函数的base_size参数theme_XXX(),您可以更改所有文本的整体字体大小.

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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


use*_*688 5

只需更改pointsizepng的属性。例如:

png(filename="plot4.png", width=580, height=700, pointsize=20)
Run Code Online (Sandbox Code Playgroud)