Понимание настроек вывода png - PullRequest
2 голосов
/ 13 декабря 2011

Я не понимаю, как мне организовать график, чтобы заполнить изображение определенного размера в пикселях, с определенным размером шрифта и небольшим полем.Вот пример графика:

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

I 'Я менее обеспокоен разрешением изображения, но я хочу, чтобы размер шрифта был большим, пропорциональным общему изображению (аналогично графику № 3).Аргумент pointsize не приводит к изменению размера шрифта. Я также хочу, чтобы граница была минимизирована.На данный момент, если я использую настройки на # 3, вокруг графика будет гораздо больше места, чем на других изображениях.Как получить график с крупным шрифтом и небольшим полем?

1 Ответ

2 голосов
/ 13 декабря 2011

Управление большинством аспектов сохраненного изображения будет легче осуществлять на стороне 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

...