是否可以在IPython筆記本電腦上使用rpy2(調用ggplot2),然後保存它們(並像其他筆記本電腦一樣在其他筆記本電腦上共享http://nbviewer.ipython.org/)?將rpy2 ggplots顯示在筆記本中和/或以交互方式是否有任何挑戰?如果有人能夠提供一個示例會話並在ipython中使用rpy2在筆記本中創建一個ggplot2圖的輸出將會很有幫助。使用rpy2與IPython筆記本?
回答
它可能與使用rpy2的rmagic擴展。雖然你似乎需要print()
這個數字來顯示它。以下是一個示例會話:http://nbviewer.ipython.org/5029692
如果您更願意直接使用rpy2,則必須有可能。看看rpy2 documentation for ggplot2。要將它放入筆記本中,可以使用PNG/SVG設備,然後從Python端讀取(這是rmagic的功能)。
這是寫在沒有在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)
這段代碼是我第一次加載和使用rpy2的數據集。此頁面的數據集無效:http://rpy.sourceforge.net/rpy2/doc-2.2/html/graphics.html#package-ggplot2 – zach 2013-03-20 21:49:37
@zach:R改變了它在內部處理數據集的方式,並且rpy2適應了這些變化(儘管直接結果不是最友好的界面)。我不能排除在文檔中有些地方沒有更新,但這裏的問題可能是您正在查看rpy2-2.2.x的文檔,而可能使用rpy2-2.3.x。無論如何,看到一些固定的最好機會是報告問題(電子郵件,項目頁面等)。 – lgautier 2013-03-20 22:26:25
謝謝。有時很難甚至知道問題是什麼.....但我會更好地報告。感謝您的傑出工作。 – zach 2013-03-20 22:42:53
- 1. 使用rpy2與內聯rmagic與jupyter筆記本
- 2. 在代理中使用iPython筆記本
- 3. 使用pip安裝ipython筆記本+ matplotlib
- 4. Django_extensions無法使用iPython筆記本
- 5. 使用PIP安裝IPython的筆記本
- 6. 如何使用IPython的筆記本ngrok
- 7. 如何使用IPython的筆記本
- 8. 運行IPython筆記本
- 9. IPython筆記本遊戲
- 10. Heroku上的IPython筆記本
- 11. 測試IPython筆記本
- 12. IPython筆記本安全
- 13. ipython筆記本中的ASCIIMathMl
- 14. 在IPython的筆記本
- 15. 在IPython中/ Jupyter筆記本
- 16. ipython筆記本中的OptionParser?
- 17. Ipython筆記本丟失
- 18. ipython筆記本未啓動
- 19. IPython筆記本在生產
- 20. 分配從IPython筆記本
- 21. 在Python程序中啓動IPython,使用IPython筆記本連接
- 22. 無法創建一個「記事本」使用IPython的筆記本
- 23. IPython筆記本:用LaTeX繪圖?
- 24. 在IPython的另一個筆記本中包含筆記本?
- 25. 無法打開IPython筆記本中的現有筆記本
- 26. iPython筆記本自動創建新的空白筆記本
- 27. 在現有筆記本服務器上打開ipython筆記本
- 28. 在anaconda ipython筆記本命令打開jupyter筆記本?
- 29. 如何在ipython筆記本中創建新筆記本?
- 30. IPython的筆記本電腦連接到外部的筆記本
我不想用'rmagic'我想直接使用rpy2,但我沒有看到筆記本的一個例子與rpy2在頁面上你鏈接到從文檔...不知道如何繪製到設備,然後再讀回來?它不是自動的嗎? – user248237dfsf 2013-02-25 15:47:31
rmagic是使用png設備和讀取輸出的自動化工具。如果你更願意直接使用rpy2,你必須自己去做。你可以看看[rmagic的源代碼](https://github.com/ipython/ipython/blob/master/IPython/extensions/rmagic.py)。 – 2013-02-26 13:03:08
這聽起來像是一個重大的... ...不值得,但它意味着ipython筆記本基本上沒有用於使用ggplot/rpy2而不是matplotlib的人 – user248237dfsf 2013-02-27 06:48:21