1

我正在使用 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 图形设备,制作一个绘图,然后关闭该设备。

当我运行源脚本本身(通过打开脚本)时,这一切都很好。但是,当我获取它时,我的图表都没有输出。它似乎创建了文件,但它只是创建了空白文件。

任何反馈将不胜感激。

4

1 回答 1

2

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

在命令行上,当您输入它时会发生这种情况。就像输入sqrt(2)打印答案一样,因为命令行会自动调用print、doingggplot(.)+geom_line(.)调用print并制作情节。

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

所以ggplotprint(ggplot(whatever)).

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

于 2013-05-05T23:33:05.333 回答