ggplot2没有情节因为ggsave没有保存

时间:2011-12-13 22:55:21

标签: python r ggplot2 windows-7-x64

我有一个使用pyper库的python脚本(管道到R),我试图从ggplot2中获取一些输出。我尝试了'ggsave'方法和'device(...); dev.off()'方法,没有输出。

我必须使用pyper,因为每次使用64位(python和R),所以rpy [2]对我来说不是一个选项。

代码如下所示:

r("png(filename='test.png',width=720,height=540)")  #comment if ggsave
r("p<-ggplot(DB,aes(X,Y,group=cfg))")
r("""p <- p + geom_path(aes(colour=factor(f1))) + scale_x_log10('X label') +
  scale_y_continuous('Y label',breaks=myb,labels=myl) + 
  geom_point(data=subset(DB,pts==dot),aes(colour=factor(f1),size=factor(f2),
  shape=factor(f3))) + labs(colour='l1',size='l2',shape='l3')""")
r("print(p)")
# r("ggsave(filename='test.png',width=10,height=7.5)   #comment out if using png
r("dev.off()")                # comment if using ggsave

在任何一种情况下都没有创建文件。我已经检查过以确保DB数据表有条目(1000s)。我能尝试什么?

1 个答案:

答案 0 :(得分:2)

所以这一切都证明了库和环境变量的问题。一些加载的库,如ggplot2,不会加载所有依赖项,如摘要库。此错误仅发生在代码的“print(p)”部分。

此外,需要正确设置的x64库位置存在差异。确保R_HOME和R_LIBS变量与您的配置匹配。

Pyper似乎没有告诉我库没有加载,它只是继续运行,所以qplot最初没有加载到R.将密码加载到正确的位置后,您需要确保始终使用您的用户帐户或始终使用管理员帐户(或者您在R_LIBS中有多个路径,但我没有尝试过。)

qplot和ggsave工作正常,只要加载了库。

感谢所有专职人士和调试指示!