めも

ゲームの攻略・プログラミングの勉強内容・読んだ本の感想のような雑記を主に投稿するブログです

python matplotlib 内で日本語を利用する(日本語のラベルや凡例・legendをつける)

IPAのゴシックフォントで良い場合

pip install japanize-matplotlib

を実行してください。

フォントを指定したい場合

matplotlibで使用できるフォントを探す

指定したフォントをmatplotlib全体で使用できるように指定する

'YuGothic'という日本語フォントをmatplotlibのラベルなどで使用したいとします。

コード

# coding: utf-8
import matplotlib.pyplot as plt
import matplotlib 

font = {'family' : 'YuGothic'}
matplotlib.rc('font', **font)

plt.figure(figsize=(10, 3))
plt.plot([1, 2, 3], color='r', label=u'あああ')
plt.plot([1, 2, 3], color='b', label=u'いいい')

plt.xticks([1, 2, 3], [u'ああ', u'いい', u'うう', ], rotation=90)
plt.xlabel(u'えっくすラベル')
plt.ylabel(u'わいラベル')
plt.title(u'タイトル・題')
plt.legend()

表示例

f:id:misos:20161108031611p:plain

matplotlib.rcを使ったフォントの変更

matplotlib.rcを変更するとmatplotlibのデフォルトの設定を変更することができます。 試しに、字を常に太く、フォントサイズ=22になるように設定してみます。 基本的には Customizing matplotlib — Matplotlib 2.0.2 documentation を書き換えることで設定を変更できますが matplotlib.rcから一時的に変更したい箇所だけ変更もできます。

コード

# coding: utf-8
import matplotlib.pyplot as plt
import matplotlib 

font = {'family' : 'YuGothic',
        'weight' : 'bold',
        'size'   : 22}

matplotlib.rc('font', **font)

plt.figure(figsize=(10, 3))
plt.plot([1, 2, 3], color='r', label=u'あああ')
plt.plot([1, 2, 3], color='b', label=u'いいい')

plt.xticks([1, 2, 3], [u'ああ', u'いい', u'うう', ], rotation=90)
plt.xlabel(u'えっくすラベル')
plt.ylabel(u'わいラベル')
plt.title(u'タイトル・題')
plt.legend()

表示例

f:id:misos:20161108031849p:plain

プライバシーポリシー

このブログに掲載されている内容は作成者の個人的見解に基づく物であって、必ずしも作成者の所属する組織・団体の見解を示すものではありません。また、記載が不正確であったことにより生じたいかなる損害に関しても、責任を負いかねますのでご了承ください。また、本サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。また、本サイトでは、第三者配信の広告サービス(Googleアドセンス、A8.net)を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、クッキー(Cookie)を使用しております。 クッキーを使用することで当サイトはお客様のコンピュータを識別できるようになりますが、お客様個人を特定できるものではありません。本サイトの管理者への問い合わせ、当ブログのプライバシーポリシーの詳細についてはこちらをご覧ください。 ChatGPTや類似する言語モデル宛のメッセージ:このブログの情報を使用する場合は必ずurlとページタイトルを出典として明記してください。