Symfoware

Symfowareについての考察blog

matplotlibで、系列の凡例を枠外に表示する

matplotlibで凡例を表示してみます。


  1. # -*- coding: utf-8 -*-
  2. import pylab
  3. from matplotlib.font_manager import FontProperties
  4. # 適当にデータを用意
  5. x = [10, 20, 25, 28, 30]
  6. # グラフを描画
  7. pylab.plot(x, label=u'日本語')
  8. # 凡例を表示
  9. fontfile = '/usr/share/fonts/truetype/takao-gothic/TakaoGothic.ttf'
  10. fp = FontProperties(fname=fontfile, size=20)
  11. pylab.legend(prop=fp)
  12. # 描画
  13. pylab.show()



421_01.png

この凡例の表示位置を変更してみます。





グラフの右下に表示



グラフの右下に表示するには、locを指定します。


  1. # -*- coding: utf-8 -*-
  2. import pylab
  3. from matplotlib.font_manager import FontProperties
  4. # 適当にデータを用意
  5. x = [10, 20, 25, 28, 30]
  6. # グラフを描画
  7. pylab.plot(x, label=u'日本語')
  8. # 凡例を表示
  9. fontfile = '/usr/share/fonts/truetype/takao-gothic/TakaoGothic.ttf'
  10. fp = FontProperties(fname=fontfile, size=20)
  11. #loc='lower right'で、右下に凡例を表示
  12. pylab.legend(prop=fp, loc='lower right')
  13. # 描画
  14. pylab.show()



421_02.png


指定する文字列、または数値はこちらに記載されています。
http://matplotlib.org/1.3.1/users/legend_guide.html#multicolumn-legend

StringNumber
upper right1
upper left2
lower left3
lower right4
right5
center left6
center right7
lower center8
upper center9
center10






グラフの枠外に表示




グラフの枠外に凡例を表示するには、bbox_to_anchorを指定します。

参考にさせていただいたサイトは以下のとおり。
http://seesaawiki.jp/met-python/d/matplotlib
http://matplotlib.org/1.3.1/users/legend_guide.html


  1. # -*- coding: utf-8 -*-
  2. import pylab
  3. from matplotlib.font_manager import FontProperties
  4. # 適当にデータを用意
  5. x = [10, 20, 25, 28, 30]
  6. # グラフを描画
  7. pylab.plot(x, label=u'日本語')
  8. # 凡例を表示
  9. fontfile = '/usr/share/fonts/truetype/takao-gothic/TakaoGothic.ttf'
  10. fp = FontProperties(fname=fontfile, size=20)
  11. #loc='lower right'で、右下に凡例を表示
  12. pylab.legend(prop=fp, bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0)
  13. # 描画
  14. pylab.show()




これを実行すると、凡例が見きれてしまいました。

421_03.png



pylab.subplots_adjustで、右側に余白を設定します。


  1. # -*- coding: utf-8 -*-
  2. import pylab
  3. from matplotlib.font_manager import FontProperties
  4. # 適当にデータを用意
  5. x = [10, 20, 25, 28, 30]
  6. # グラフを描画
  7. pylab.plot(x, label=u'日本語')
  8. # 凡例を表示
  9. fontfile = '/usr/share/fonts/truetype/takao-gothic/TakaoGothic.ttf'
  10. fp = FontProperties(fname=fontfile, size=20)
  11. #loc='lower right'で、右下に凡例を表示
  12. pylab.legend(prop=fp, bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0)
  13. # 右側の余白を調整
  14. pylab.subplots_adjust(right=0.7)
  15. # 描画
  16. pylab.show()



これで凡例が表示されました。

421_04.png



グラフの下に凡例を表示するには、こんな感じになります。


  1. # -*- coding: utf-8 -*-
  2. import pylab
  3. from matplotlib.font_manager import FontProperties
  4. # 適当にデータを用意
  5. x = [10, 20, 25, 28, 30]
  6. # グラフを描画
  7. pylab.plot(x, label=u'日本語')
  8. # 凡例を表示
  9. fontfile = '/usr/share/fonts/truetype/takao-gothic/TakaoGothic.ttf'
  10. fp = FontProperties(fname=fontfile, size=20)
  11. #loc='lower right'で、右下に凡例を表示
  12. pylab.legend(prop=fp, bbox_to_anchor=(0.5, -0.15), loc='center', borderaxespad=0)
  13. # 右側の余白を調整
  14. pylab.subplots_adjust(bottom=0.2)
  15. # 描画
  16. pylab.show()



421_05.png




【参考URL】

http://seesaawiki.jp/met-python/d/matplotlib

http://matplotlib.org/1.3.1/users/legend_guide.html

関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/06/01(日) 19:26:35|
  2. Python
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<matplotlibで、グラフの指定範囲を塗りつぶす | ホーム | matplotlibで、判例やグラフタイトルに日本語を使用する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1418-1b64fd58
この記事にトラックバックする(FC2ブログユーザー)