了解png输出设置

时间:2011-12-12 21:38:40

标签: r png plot

我不明白如何安排绘图来填充特定字体大小和小边距的特定像素大小的图像。这是一个示例图:

library(ggplot2)

a <-c(1:10); b <- c(1:10)
p <- qplot(a,b)
outPath = "D:/Scratch/"

# 1
png(paste(outPath, '1.png', sep=''), height=400, width=400, res = 120, units = 'px')
print(p); dev.off()

enter image description here

# 2
png(paste(outPath, '2.png', sep=''), pointsize = 20,height=400, width=400, res = 120, units = 'px')
print(p); dev.off()

enter image description here

# 3
png(paste(outPath, '3.png', sep=''), height=400, width=400, res = 250, units = 'px')
print(p); dev.off()

enter image description here

我不太关心图像的分辨率,但我希望字体大小与整体图像成比例(类似于图#3)。参数pointsize似乎不会导致任何字体大小更改。我还希望最小化边框。目前,如果我使用#3上的设置,与其他图像相比,绘图周围的空间要大得多。如何绘制具有较大字体且边距较小的绘图?

1 个答案:

答案 0 :(得分:2)

ggplot2方面(与使用png()设置相比),可以更轻松地控制已保存图像的大多数方面。

ggplot2中,opts()可用于控制字体大小和图形边距的宽度。

以下是一个例子:

p <- qplot(a,b) +
opts(plot.margin = unit(rep(0,4), "lines"),
     axis.title.x = theme_text(size=20),
     axis.title.y = theme_text(size=20))

png('1.png', height=400, width=400, res = 120, units = 'px')
print(p); dev.off()

enter image description here