将ipython notebook中的ggplot输出保存到文件中

时间:2015-06-28 15:08:16

标签: r ggplot2 ipython-notebook

我想在ipython笔记本中使用ggplot。我使用rmagic将数组传入R并将其绘制到输出单元格。但是,将绘图保存到文件似乎不起作用。

%load_ext rpy2.ipython

新细胞。我的python数据称为数据。

%%R -i data
library(ggplot2)

df=data.frame(x=seq(1,length(data)),y=data)
pdf('plot.pdf')
ggplot(data=df, aes(x=x,y=y)) + geom_point()
dev.off()

当我点击文件plot.pdf时,我收到错误'文件无法打开。它可能已损坏或使用预览无法识别的文件格式。'

2 个答案:

答案 0 :(得分:3)

如果打开特定设备(此处为PDF文件),则必须调用df=data.frame(x=seq(1,length(data)),y=data) pdf('plot.pdf') p <- ggplot(data=df, aes(x=x,y=y)) + geom_point() print(p) dev.off() (就像在非交互式R中使用该代码一样)。

{{1}}

这可能比对ggsave的调用更明确,ggsave似乎猜测在有多个图时应该绘制什么。

答案 1 :(得分:1)

试试这个:

df <- data.frame(x=seq(1,length(data)),y=data)
ggplot(data=df, aes(x=x,y=y)) + geom_point()
ggsave('plot.pdf', width=8.27, height= 11.69) #A4 size in inches
dev.off()