sage/ggplot_in_sage
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[FrontPage]]
#contents
2014/01/26からのアクセス回数 &counter;
ここで紹介したSageワークシートは、以下のURLからダウンロー...
http://www15191ue.sakura.ne.jp:8000/home/pub/34/
また、Sageのサーバを公開しているサイト(http://www.sagenb...
アップロードし、実行したり、変更していろいろ動きを試すこ...
* ggplot in Sage [#od587f67]
pythonでRのggplot2と同様のグラフを出力するライブラリggplo...
ggplot2で使用するnumpyとバージョンを合わせるために、Sage...
** Sageへのggplotのインストール [#l6db042c]
ggplotをインストールするために、以下のライブラリをインス...
- patsy
- statsmodels
*** patsyのインストール [#vcb66d03]
Sageの環境でpythonパッケージをインストールするためにsage...
#pre{{
$ /usr/local/sage-6.0/sage -sh
(sage-sh) $ easy_install patsy
}}
*** statsmodelsのインストール [#hfde45db]
statsmodelsはeasy_installが使えなかったので、ソースからイ...
#pre{{
(sage-sh) $ git clone git://github.com/statsmodels/statsm...
(sage-sh) $ cd statsmodels
(sage-sh) $ python setup.py build
正常に終了したのを確認してから
(sage-sh) $ python setup.py install
}}
準備ができたので、最後にggplotをインストールします。
#pre{{
(sage-sh) $ easy_install ggplot
}}
** ggplotの例題 [#de3f55cc]
[[yhat氏のggplotのサイト>https://github.com/yhat/ggplot/]]
にあるExamplesをSageで実行してみます。
*** ggplotのローディング [#g987754b]
最初に、ggplotを以下の様にローディングします。
sageへの入力:
#pre{{
from ggplot import *
}}
*** meatの例題 [#q17ae79d]
アメリカの肉のデータ(meatデータフレーム)からbeef, pork,...
散布図とスムーズ化した曲線を一緒にプロットする例題です。
ggplotで使用するデータとaesで軸や色の情報を渡して、geom_p...
スムーズ曲線を追加するだけで、簡単に図化できるのがRのggpl...
pythonで作られたggplotは、バージョン0.4.5ではありますが、...
sageへの入力:
#pre{{
meat_lng = pd.melt(meat[['date', 'beef', 'pork', 'broiler...
ggplot(aes(x='date', y='value', colour='variable'), data=...
geom_point() + \
stat_smooth(color='red')
}}
sageからの出力:
#pre{{
<ggplot: (31845893)>
}}
*** Sageで図の表示 [#b44a9895]
pythonではそのままグラフが表示されますが、Sageではそのま...
調べたところ、pylabのsavefigを使うことでSageでも表示でき...
そのままでは、図が大きく表示されるため、dpiオプションでサ...
sageへの入力:
#pre{{
# そのままでは出力されないので、pylabのsavefigを使って保...
# そのままでは、画像が大きいのでdpi指定でサイズを小さくし...
import pylab as pl
pl.savefig("sample1.png", dpi=50)
}}
sageからの出力:
&ref(sample1.png);
pylabのsavefigと同様の機能がggplotにも用意されており、ggs...
sageで図が表示されます。
sageへの入力:
#pre{{
# 同様の処理がggsaveを使ってできます。
ggsave("sample1.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample1.png);
*** ダイヤモンドのカラットと価格の関係 [#p7184bdc]
散布図の軸の設定もylim, xlimを使って調整することができま...
以下の例は、ダイヤモンドのカラットと価格の関係を散布図で...
sageへの入力:
#pre{{
# geom_pointの例
ggplot(diamonds, aes('carat', 'price')) + \
geom_point(alpha=1/20.) + \
ylim(0, 20000)
}}
sageからの出力:
#pre{{
<ggplot: (32227289)>
}}
sageへの入力:
#pre{{
ggsave("sample2.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample2.png);
*** ダイヤモンドの大きさ(カラット)と発掘頻度の関係 [#e0...
ヒストグラム(度数分布図)は、geom_histogramを使って表示...
軸名称はlabsで指定します。
以下の例は、ダイヤモンドの大きさ(カラット)と発掘頻度の...
sageへの入力:
#pre{{
# geom_histogramの例
p = ggplot(aes(x='carat'), data=diamonds)
p + geom_histogram() + ggtitle("Histogram of Diamond Cara...
}}
sageからの出力:
#pre{{
binwidth defaulted to range/30. Use 'binwidth = x' to adj...
<ggplot: (31854697)>
}}
sageへの入力:
#pre{{
ggsave("sample3.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample3.png);
*** カット別の価格別の密度分布の表示 [#q153274f]
aesのcolor指定に変数cutを指定することによってcutの種類毎...
以下の例は、ダイヤモンドの価格の密度分布をカット別に表示...
sageへの入力:
#pre{{
# geom_densityの例
ggplot(diamonds, aes(x='price', color='cut')) + \
geom_density()
}}
sageからの出力:
#pre{{
<ggplot: (33161229)>
}}
sageへの入力:
#pre{{
ggsave("sample4.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample4.png);
*** 肉の種類別の出荷数の密度分布 [#l8f406ad]
pandasライブラリのmelt関数を使ってカラム別に集計してある...
その結果をcolour(colorの別名)にvariableを指定することで種...
(とてもすごくて何がどうなっているのかすぐには分かりませ...
sageへの入力:
#pre{{
# pandasのデータを使用する
import pandas as pd
meat_lng = pd.melt(meat[['date', 'beef', 'broilers', 'por...
}}
#pre{{
}}
sageへの入力:
#pre{{
# geom_densityのグラフを塗る例 (alpha=0.3を付けるとエラー...
p = ggplot(aes(x='value', colour='variable', fill=True), ...
p + geom_density()
}}
sageからの出力:
#pre{{
<ggplot: (33316793)>
}}
sageへの入力:
#pre{{
ggsave("sample5.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample5.png);
*** 棒グラフ [#z32c7fe9]
最後に棒グラフをgeom_barを使って表示しています。
この時、シリンダーのfactorを指定しています。(この使い方...
sageへの入力:
#pre{{
# geom_barの例
p = ggplot(mtcars, aes('factor(cyl)'))
p + geom_bar()
}}
sageからの出力:
#pre{{
<ggplot: (32741753)>
}}
sageへの入力:
#pre{{
ggsave("sample6.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample6.png);
** コメント [#qd3d1f45]
#vote(おもしろかった[5],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
- ggplot in Sage <- ggplot in Python <- ggplot2 in R が分...
- ysatoさま、コメントありがとうございます。RとSage間のデ...
- ysatoさま、[[sage/データ解析のための統計モデリング入門...
- コメントありがとうございます。ダウンロードしてsage サー...
- このページをきっかけに Mathematicaで ggplot2(R) を実行...
- このページをきっかけに IPython で Sage関数を実行できま...
- 最初のmeat の例題の前に、 import pandas as pd が必要で...
- gg= ggplot(..); ggsave( gg, 'sample1.png' ) と思います...
- ysatoさま、ご指摘ありがとうございます。確かに一端<ggplo...
- ggplot(mtcars, aes('factor(cyl)')) がエラーになります。...
#comment_kcaptcha
終了行:
[[FrontPage]]
#contents
2014/01/26からのアクセス回数 &counter;
ここで紹介したSageワークシートは、以下のURLからダウンロー...
http://www15191ue.sakura.ne.jp:8000/home/pub/34/
また、Sageのサーバを公開しているサイト(http://www.sagenb...
アップロードし、実行したり、変更していろいろ動きを試すこ...
* ggplot in Sage [#od587f67]
pythonでRのggplot2と同様のグラフを出力するライブラリggplo...
ggplot2で使用するnumpyとバージョンを合わせるために、Sage...
** Sageへのggplotのインストール [#l6db042c]
ggplotをインストールするために、以下のライブラリをインス...
- patsy
- statsmodels
*** patsyのインストール [#vcb66d03]
Sageの環境でpythonパッケージをインストールするためにsage...
#pre{{
$ /usr/local/sage-6.0/sage -sh
(sage-sh) $ easy_install patsy
}}
*** statsmodelsのインストール [#hfde45db]
statsmodelsはeasy_installが使えなかったので、ソースからイ...
#pre{{
(sage-sh) $ git clone git://github.com/statsmodels/statsm...
(sage-sh) $ cd statsmodels
(sage-sh) $ python setup.py build
正常に終了したのを確認してから
(sage-sh) $ python setup.py install
}}
準備ができたので、最後にggplotをインストールします。
#pre{{
(sage-sh) $ easy_install ggplot
}}
** ggplotの例題 [#de3f55cc]
[[yhat氏のggplotのサイト>https://github.com/yhat/ggplot/]]
にあるExamplesをSageで実行してみます。
*** ggplotのローディング [#g987754b]
最初に、ggplotを以下の様にローディングします。
sageへの入力:
#pre{{
from ggplot import *
}}
*** meatの例題 [#q17ae79d]
アメリカの肉のデータ(meatデータフレーム)からbeef, pork,...
散布図とスムーズ化した曲線を一緒にプロットする例題です。
ggplotで使用するデータとaesで軸や色の情報を渡して、geom_p...
スムーズ曲線を追加するだけで、簡単に図化できるのがRのggpl...
pythonで作られたggplotは、バージョン0.4.5ではありますが、...
sageへの入力:
#pre{{
meat_lng = pd.melt(meat[['date', 'beef', 'pork', 'broiler...
ggplot(aes(x='date', y='value', colour='variable'), data=...
geom_point() + \
stat_smooth(color='red')
}}
sageからの出力:
#pre{{
<ggplot: (31845893)>
}}
*** Sageで図の表示 [#b44a9895]
pythonではそのままグラフが表示されますが、Sageではそのま...
調べたところ、pylabのsavefigを使うことでSageでも表示でき...
そのままでは、図が大きく表示されるため、dpiオプションでサ...
sageへの入力:
#pre{{
# そのままでは出力されないので、pylabのsavefigを使って保...
# そのままでは、画像が大きいのでdpi指定でサイズを小さくし...
import pylab as pl
pl.savefig("sample1.png", dpi=50)
}}
sageからの出力:
&ref(sample1.png);
pylabのsavefigと同様の機能がggplotにも用意されており、ggs...
sageで図が表示されます。
sageへの入力:
#pre{{
# 同様の処理がggsaveを使ってできます。
ggsave("sample1.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample1.png);
*** ダイヤモンドのカラットと価格の関係 [#p7184bdc]
散布図の軸の設定もylim, xlimを使って調整することができま...
以下の例は、ダイヤモンドのカラットと価格の関係を散布図で...
sageへの入力:
#pre{{
# geom_pointの例
ggplot(diamonds, aes('carat', 'price')) + \
geom_point(alpha=1/20.) + \
ylim(0, 20000)
}}
sageからの出力:
#pre{{
<ggplot: (32227289)>
}}
sageへの入力:
#pre{{
ggsave("sample2.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample2.png);
*** ダイヤモンドの大きさ(カラット)と発掘頻度の関係 [#e0...
ヒストグラム(度数分布図)は、geom_histogramを使って表示...
軸名称はlabsで指定します。
以下の例は、ダイヤモンドの大きさ(カラット)と発掘頻度の...
sageへの入力:
#pre{{
# geom_histogramの例
p = ggplot(aes(x='carat'), data=diamonds)
p + geom_histogram() + ggtitle("Histogram of Diamond Cara...
}}
sageからの出力:
#pre{{
binwidth defaulted to range/30. Use 'binwidth = x' to adj...
<ggplot: (31854697)>
}}
sageへの入力:
#pre{{
ggsave("sample3.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample3.png);
*** カット別の価格別の密度分布の表示 [#q153274f]
aesのcolor指定に変数cutを指定することによってcutの種類毎...
以下の例は、ダイヤモンドの価格の密度分布をカット別に表示...
sageへの入力:
#pre{{
# geom_densityの例
ggplot(diamonds, aes(x='price', color='cut')) + \
geom_density()
}}
sageからの出力:
#pre{{
<ggplot: (33161229)>
}}
sageへの入力:
#pre{{
ggsave("sample4.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample4.png);
*** 肉の種類別の出荷数の密度分布 [#l8f406ad]
pandasライブラリのmelt関数を使ってカラム別に集計してある...
その結果をcolour(colorの別名)にvariableを指定することで種...
(とてもすごくて何がどうなっているのかすぐには分かりませ...
sageへの入力:
#pre{{
# pandasのデータを使用する
import pandas as pd
meat_lng = pd.melt(meat[['date', 'beef', 'broilers', 'por...
}}
#pre{{
}}
sageへの入力:
#pre{{
# geom_densityのグラフを塗る例 (alpha=0.3を付けるとエラー...
p = ggplot(aes(x='value', colour='variable', fill=True), ...
p + geom_density()
}}
sageからの出力:
#pre{{
<ggplot: (33316793)>
}}
sageへの入力:
#pre{{
ggsave("sample5.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample5.png);
*** 棒グラフ [#z32c7fe9]
最後に棒グラフをgeom_barを使って表示しています。
この時、シリンダーのfactorを指定しています。(この使い方...
sageへの入力:
#pre{{
# geom_barの例
p = ggplot(mtcars, aes('factor(cyl)'))
p + geom_bar()
}}
sageからの出力:
#pre{{
<ggplot: (32741753)>
}}
sageへの入力:
#pre{{
ggsave("sample6.png", dpi=50)
}}
sageからの出力:
#pre{{
Saving 11.0 x 8.0 in image.
}}
&ref(sample6.png);
** コメント [#qd3d1f45]
#vote(おもしろかった[5],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
- ggplot in Sage <- ggplot in Python <- ggplot2 in R が分...
- ysatoさま、コメントありがとうございます。RとSage間のデ...
- ysatoさま、[[sage/データ解析のための統計モデリング入門...
- コメントありがとうございます。ダウンロードしてsage サー...
- このページをきっかけに Mathematicaで ggplot2(R) を実行...
- このページをきっかけに IPython で Sage関数を実行できま...
- 最初のmeat の例題の前に、 import pandas as pd が必要で...
- gg= ggplot(..); ggsave( gg, 'sample1.png' ) と思います...
- ysatoさま、ご指摘ありがとうございます。確かに一端<ggplo...
- ggplot(mtcars, aes('factor(cyl)')) がエラーになります。...
#comment_kcaptcha
ページ名:
SmartDoc