我正在使用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图形设备,绘制了一个图,然后关闭了这个设备。
当我运行源脚本本身(通过打开脚本)时,这一切都运行得很好。但是,当我获取它时,我的图都不会输出。它似乎创建了文件,但它只创建了空白文件。
任何反馈都将非常感谢。
发布于 2013-05-06 07:33:05
仅当打印图形的对象时,才会打印该图形。
在命令行中,当您键入它时,就会发生这种情况。就像输入sqrt(2)会打印答案一样,因为命令行会自动调用print,所以执行ggplot(.)+geom_line(.)会调用print,这样就会生成绘图。
在脚本中,不会自动打印结果。
因此,用print(ggplot(whatever))包装所有的ggplot调用。
这是一个R常见问题。http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics-not-work_003f
https://stackoverflow.com/questions/16390137
复制相似问题