5

IPython ノートブックで rpy2 (ggplot2 を呼び出す) を使用して、それらを保存する (および他のノートブックhttp://nbviewer.ipython.org/のように NBViewer で共有する) ことは可能ですか? rpy2 ggplots をノートブックやインタラクティブに表示することに課題はありますか? IPython で rpy2 を使用して、ノートブック内で ggplot2 の図を作成するサンプル セッションとその出力を誰かが提供してくれると助かります。

4

2 に答える 2

4

これは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)
于 2013-03-11T16:04:26.560 に答える
1

rpy2 を使用する rmagic 拡張で可能です。ただし、それを示すには図が必要なようprint()です。セッションの例を次に示します: http://nbviewer.ipython.org/5029692

rpy2 を直接使用したい場合は、それが可能である必要があります。ggplot2のrpy2 ドキュメントをご覧ください。ノートブックに入れるには、PNG/SVG デバイスに描画し、Python 側から読み取ることができます (これが rmagic の機能です)。

于 2013-02-25T13:10:45.790 に答える