Hatena::ブログ(Diary)

盆栽日記

2014-02-10

Grammer of Graphicsでplotしたい

Grammer of Graphicsという本があります。

http://www.amazon.co.jp/dp/0387245448

分析を進める上での可視化のあり方を説いた本です。

その思想の中核はとりあえずデータを可視化してその分布を確認していくというアドホックな分析思考を「layerを重ねていく」ことで表現するというものです。

これを実装したものとしてRにはggplot2というパッケージがあります。

pythonに実装は無いのか

pythonでも実装が無いかなと探していたらとりあえず外見のみを真似たものとしてmpitoolsが見つかりました。

http://tonysyu.github.io/mpltools/auto_examples/style/plot_ggplot.html#example-style-plot-ggplot-py

mpitoolsで用いられているstyleを利用することで下記パッケージのようにggplot2の外見を真似ることはできます。

http://cmrivers.github.io/epipy/

嬉しい移植

しかしRのggplot2の本質は整った外見ではありません。

あれは作者Hadley Wickhamの趣味であり、本質は上に述べたような分析思考の投影にあります。

ということで、pythonにもggplot2をそのまま移植してくれた方がいました。

名前もそのままggplotです。嬉しい。

https://pypi.python.org/pypi/ggplot/

以下のようにRのggplot2と同じ書法でplotできます。

import pandas as pd
from ggplot import *
smp = pd.DataFrame({ 'a':[1, 2, 3], 'b':[4, 5, 6]})
ggplot(smp, aes(x='a', y='b')) + geom_point()

f:id:dichika:20140209205404p:image

良い時代だ。

詳しくはこちらを読んでほしい。

http://blog.yhathq.com/posts/ggplot-for-python.html

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/dichika/20140210/p1
Connection: close