R - Изменение размера графика ggplot в jupyter

Используя R в записной книжке jupyter, сначала я задал размер графика повсеместно. Во-вторых, я хотел бы построить один сюжет с другим размером.

## load ggplot2 library
library("ggplot2")
## set universal plot size:
options(repr.plot.width=6, repr.plot.height=4)

## plot figure. This figure will be 6 X 4
ggplot(iris, aes(x = Sepal.Length, y= Sepal.Width))   +  geom_point() 

## plot another figure. This figure I would like to be 10X8
ggplot(iris, aes(x = Sepal.Length, y= Sepal.Width))   +  geom_point() + HOW DO i CHANGE THE SIZE?

Как вы можете видеть, я хотел бы изменить второй график (и только второй график) на 10X8. Как это сделать?

Извините за потенциально немой вопрос, поскольку размер зарисовки обычно не является проблемой в Rstudio.

Ответ 1

Здесь вы идете:

library(repr)
options(repr.plot.width=10, repr.plot.height=8)
ggplot(iris, aes(x = Sepal.Length, y= Sepal.Width)) +
    geom_point()

Ответ 2

Если options - единственный доступный механизм для изменения размера фигуры, то вы должны сделать что-то вроде этого, чтобы установить и восстановить параметры такими, какими они были:

saved <- options(repr.plot.width=10, repr.plot.height=8)
ggplot(iris, aes(x = Sepal.Length, y= Sepal.Width)) + geom_point()
options(saved)

Ответ 3

Я нашел другое решение, которое позволяет устанавливать размер графика, даже когда вы создаете графики внутри функции или цикла:

pl <- ggplot(iris, aes(x = Sepal.Length, y= Sepal.Width)) + geom_point()
print(pl, vp=grid::viewport(width=unit(10, 'inch'), height=unit(8, 'inch'))