Как создать новое экранное окно R-графики с определенной шириной и высотой (в пикселях и т.д.)?
Создание окна сюжета определенного размера
Ответ 1
Используйте dev.new()
. (См. Этот связанный вопрос.)
plot(1:10)
dev.new(width=5, height=4)
plot(1:20)
Чтобы быть более конкретными, какие единицы используются:
dev.new(width=5, height=4, unit="in")
plot(1:20)
dev.new(width = 550, height = 330, unit = "px")
plot(1:15)
Ответ 2
Это будет зависеть от используемого устройства. Если вы используете pdf-устройство, вы можете сделать это:
pdf( "mygraph.pdf", width = 11, height = 8 )
plot( x, y )
Затем вы можете разделить пространство в pdf с помощью параметра mfrow следующим образом:
par( mfrow = c(2,2) )
Это делает PDF с четырьмя панелями для печати. К сожалению, некоторые устройства используют разные блоки, чем другие. Например, я думаю, что X11 использует пиксели, в то время как я уверен, что pdf использует дюймы. Если вы просто хотите создать несколько устройств и создать для них разные вещи, вы можете использовать dev.new(), dev.list() и dev. следующий().
Другие устройства, которые могут быть полезны, включают:
Здесь перечислены все устройства здесь.
Ответ 3
Поскольку принятое решение @Shane не поддерживается в RStudio (см. Здесь) на данный момент (сентябрь 2015 г.), я хотел бы добавить совет @James Thompson в ответ на рабочий процесс:
Если вы используете SumatraPDF в качестве средства просмотра, вам не нужно закрывать файл PDF, прежде чем вносить в него изменения. Суматра не помещает открытый файл в режиме "только для чтения" и, таким образом, не препятствует его перезаписи. Поэтому, как только вы открыли свой файл PDF с помощью Sumatra, изменения в RStudio (или любой другой R IDE) сразу отображаются на Суматре.
Ответ 4
Удобной функцией сохранения графиков является ggsave()
, которая может автоматически угадывать тип устройства на основе расширения файла и сглаживать различия между устройствами. Вы сохраняете определенный размер и единицы следующим образом:
ggsave("mtcars.png", width = 20, height = 20, units = "cm")
В методе R markdown размер фигуры может быть задан куском:
'''{r, fig.width=6, fig.height=4}
plot(1:5)
'''