簡體   English   中英

在IPython筆記本中使用rpy2?

[英]using rpy2 with IPython notebooks?

是否可以在IPython筆記本中使用rpy2(調用ggplot2),然后保存它們(和其他筆記本http://nbviewer.ipython.org/一樣在NBViewer上共享)? 讓rpy2 ggplots出現在筆記本中和/或交互式是否有任何挑戰? 如果有人能夠在IPython中使用rpy2提供示例會話及其在筆記本中制作ggplot2數字的輸出,將會很有幫助。

這是在沒有查看rmagic中的代碼的情況下編寫的。 他們有一個更聰明的方法(我有11行代碼)。

import uuid
from rpy2.robjects.packages import importr 
from IPython.core.display import Image

grdevices = importr('grDevices')
def ggplot_notebook(gg, width = 800, height = 600):
    fn = '{uuid}.png'.format(uuid = uuid.uuid4())
    grdevices.png(fn, width = width, height = height)
    gg.plot()
    grdevices.dev_off()
    return Image(filename=fn)

嘗試一下:

from rpy2.robjects.lib import ggplot2
from rpy2.robjects import Formula
datasets = importr('datasets')
mtcars = datasets.__rdata__.fetch('mtcars')['mtcars']
p = ggplot2.ggplot(mtcars) + \
    ggplot2.aes_string(x='mpg', y='cyl') + \
    ggplot2.geom_point() + \
    ggplot2.geom_smooth() + \
    ggplot2.facet_wrap(Formula('~ am'))

ggplot_notebook(p, height=300)

rmagic擴展可以使用rpy2。 你好像需要print()圖來顯示它。 這是一個示例會話: http//nbviewer.ipython.org/5029692

如果您希望直接使用rpy2,則必須可以。 看看ggplot2的rpy2文檔 要將它放入筆記本中,您可以繪制到PNG / SVG設備,然后從Python端讀取它(這就是rmagic所做的)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM