我試圖通過使用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
提交
取消