R - 在jupyter中更改ggplot绘图大小

时间:2017-08-03 00:54:06

标签: r ggplot2 jupyter

在jupyter笔记本中使用R,首先我会普遍设置绘图大小。其次,我想绘制一个不同大小的单个情节。

## 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中通常不是问题。

4 个答案:

答案 0 :(得分:7)

你走了:

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

答案 1 :(得分:1)

一个不涉及使用外部软件包的解决方案

fig <- function(width, heigth){
 options(repr.plot.width = width, repr.plot.height = heigth)
 }

例如,将fig(10,4)放在生成绘图的单元格中,绘图将相应缩放

来源:https://www.kaggle.com/getting-started/105201

答案 2 :(得分:0)

如果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 :(得分:0)

我找到了另一种解决方案,即使在函数或循环中进行绘图时,该解决方案也可以设置绘图大小:

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