我有一个使用pyper库的python脚本(通过管道连接到R),并且我正在尝试从ggplot2中获得一些输出。我已经尝试了'ggsave‘方法和'device(...);dev.off()’方法,但没有任何输出。
我不得不使用pyper,因为它使用64位(python和R),所以rpy2不是我的选择。
代码如下所示:
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数据表有条目(1000)。我能尝试什么呢?
发布于 2011-12-15 05:08:28
所以这一切都是库和环境变量的问题。一些已加载的库,如ggplot2,不会加载所有依赖项,如摘要库。这个错误只出现在代码的"print(p)“部分。
此外,需要正确设置的x64库位置也存在差异。确保R_HOME和R_LIBS变量与您的配置匹配。
Pyper似乎没有告诉我库没有加载,它只是继续运行,所以qplot最初并没有在R中加载。在将其加载到正确的位置后,您需要确保您始终使用您的用户帐户或管理员帐户(或者您在R_LIBS中有多个路径,但我没有尝试这样做)。
只要加载库,qplot和ggsave就可以正常工作。
感谢所有致力于调试的人员和指导!
https://stackoverflow.com/questions/8497428
复制相似问题