我试图通过使用rpy2在我的python管道中集成一些图形生成。在R内部生成的同一PDF显然在rpy2内部不起作用。这个简单的脚本将创建一个可读的PDF文件:#!/usr/bin/env Rlibrary(ggplot2)library(datasets)p = ggplot(mtcars, aes(wt, mpg)) + xlab('Weight (lb/1000)') + ylab('Miles/(US) gallon')pdf(file='mtcars.pdf')p + geom_point(aes(colour=factor(cyl)))dev.off()虽然等效的python代码生成4 KB文件,但任何PDF阅读器都无法读取该文件:#!/usr/bin/env pythonfrom rpy2 import robjects as roro.r("library(ggplot2)")ro.r("library(datasets)")ro.r("p = ggplot(mtcars, aes(wt, mpg)) + xlab('Weight (lb/1000)') + ylab('Miles/(US) gallon')")ro.r("pdf(file='mtcars.pdf')")ro.r("p + geom_point(aes(colour=factor(cyl)))")ro.r("dev.off()")我在用着:* Python 2.7.3* R 2.15.2* rpy2 2.3.6* ggplot2 0.9.3.1任何想法为什么会这样?帮助极大的赞赏。
1 回答

眼眸繁星
TA贡献1873条经验 获得超9个赞
任何想法为什么会这样?帮助极大的赞赏。
永远不会绘制ggplot图。在交互式R中,将某些内容返回到控制台print()
(如果是ggplot对象,则会绘制它们)。您必须print()
明确地打电话。
您可能还需要查看rpy2文档中的ggplot2。
添加回答
举报
0/150
提交
取消