在源脚本中打开图形设备?

时间:2013-05-05 23:20:25

标签: r graphics output

我正在使用R,我正在一个主脚本中获取另一个脚本。在源代码脚本中,我的代码如下所示:

pdf("Figs/bar_gni.pdf")
m1table$Country1 <- reorder(m1table$Country, m1table$GNIpc2005)
ggplot(m1table, aes(y=GNIpc2005, fill=Level)) + 
  geom_bar(aes(x=Country1), data=m1table, stat="identity") +
  coord_flip() +
  ggtitle("GNI Per Capita, 2005") +
  xlab("Country") +
  ylab("GNI per capita, Atlas method (current US$)")
dev.off()

重要的是,如果我是正确的,那就是我正在打开一个pdf图形设备,制作一个情节,然后关闭设备。

当我自己运行源脚本(通过打开脚本)时,这一切都运行正常。但是,当我采购它时,我的图表都没有输出。它似乎创建了文件,但它只是创建了空白文件。

非常感谢任何反馈。

1 个答案:

答案 0 :(得分:1)

ggplot图形仅在打印对象时绘制。

在命令行中,当您输入时会发生这种情况。正如键入sqrt(2)打印答案一样,因为命令行会自动调用print,执行ggplot(.)+geom_line(.)调用print这就是情节。

在脚本中,结果不会自动打印。

请使用ggplot包裹所有print(ggplot(whatever))来电。

这是一个R FAQ。 http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics-not-work_003f