7

私は、PDF形式の図を受け入れないMSWordで書かれるべき原稿の図を作成しようとしています。ジャーナルは、Wordファイルに図が埋め込まれた最初のドラフトを要求します。これらの図の解像度は最低300dpiで、幅は169mmまたは81mm(2/1列)である必要があります。画像の解像度を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のフォントサイズを小さくしたいのですが、2つのプロットのレイアウトと寸法はそのままにしておきます。

example.png Example.png

example2.png Example2.png

4

3 に答える 3

8

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()

ここに画像の説明を入力してください

于 2012-04-24T17:15:15.037 に答える
5

pointsizepngの属性を変更するだけです。例えば:

png(filename="plot4.png", width=580, height=700, pointsize=20)
于 2015-06-08T18:33:55.713 に答える
1

私が知る限り、フォントサイズは解像度やデバイスサイズに関係なく同じです。次の例で確認できます。

library(grid)

png("example1.png", width = 30, height = 5, units = "mm", res = 200)
g <- grid.text("testing font size", gp=gpar(fontsize=12))
width <- convertUnit(grobWidth(g), "mm")
height <- convertUnit(grobHeight(g), "mm", "y")
grid.rect(width=width, height=height, gp=gpar(lty=2, fill=NA))
dev.off()


png("example2.png", width = 60, height = 5, units = "mm", res = 500)
grid.text("testing font size", gp=gpar(fontsize=12))
grid.rect(width=width, height=height, gp=gpar(lty=2, fill=NA))
dev.off()

しかし、実際にはフォントサイズを変更したかったようです。

于 2012-04-25T06:46:04.290 に答える