Python版ggplotで日本語を使う
このエントリで書いた例は対症療法的な解決方法です。もっとスマートに書くやり方があったら教えて下さい。
オヒサシブリデス。
Rのggplot2のような綺麗なグラフをPythonでも使いたい! ということで、Python移植のggplotパッケージを先日インストールしました。
んで、本家ggplot2でもよくある問題である日本語を使うにはどうしたらいいのか、いろいろ調べてみました。
MacOSX で、Python3.4を使用しております。
import sys print(sys.platform) print(sys.version) # darwin # 3.4.1 (default, May 19 2014, 13:10:29) # [GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)]
ライブラリのバージョンは以下。
# pip freeze : :(省略) ggplot==0.5.8 ipython==2.1.0 matplotlib==1.3.1
Python版ggplotのREADMEのグラフを以下のように出力してみます。
from ggplot import * ggplot(aes(x='date', y='beef'), data=meat) + \ geom_point(color='lightblue') + \ stat_smooth(span=.15, color='black', se=True) + \ ggtitle("Beef: It's What's for Dinner") + \ xlab("Date") + \ ylab("Head of Cattle Slaughtered")
軸ラベルとタイトルが英語ですね。 ここを日本語に直してみましょう。
ggplot(aes(x='date', y='beef'), data=meat) + \ geom_point(color='lightblue') + \ stat_smooth(span=.15, color='black', se=True) + \ ggtitle("牛肉の出荷数") + \ xlab("日付") + \ ylab("出荷数")
うーん、matplotlibでもよく見かけた□ですね…
ここで、無理矢理フォントの設定を変更する方法を試してみます。 一旦先ほどの式を変数に保存し、パラメータ辞書のフォントを変更します。 とりあえずOsakaで。
g=ggplot(aes(x='date', y='beef'), data=meat) + \ geom_point(color='lightblue') + \ stat_smooth(span=.15, color='black', se=True) + \ ggtitle("牛肉の出荷数") + \ xlab("日付") + \ ylab("出荷数") g.theme._rcParams['font.family']="Osaka" g
おお!日本語が表示できました! ただ、あんまりスマートではないですね。 ggplotの特徴をぶち壊してる感じがします。 もっといい書き方があれば教えて下さい。
- アーティスト: DANCE☆MAN,レイ・パーカー・Jr.,デビッド・フォスター,シェリル・リン,デビッド・パイチ
- 出版社/メーカー: エイベックス・トラックス
- 発売日: 2000/10/18
- メディア: CD
- クリック: 2回
- この商品を含むブログ (4件) を見る
Rグラフィックスクックブック ―ggplot2によるグラフ作成のレシピ集
- 作者: Winston Chang,石井弓美子,河内崇,瀬戸山雅人,古畠敦
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/11/30
- メディア: 大型本
- この商品を含むブログ (2件) を見る