Python の matplotlib でつくる図に 日本語文字を表示する
Python の matplotlib で作図するとき、図の中に、日本語の漢字や かな を入れることが
できるかどうか、また、どのようにすればできるかは、
OS や、Python処理系のインストールされかたによってちがう。
日本語フォントを指定する
OS に、TrueType というフォントファイル形式で、
日本語の文字の字形をふくむフォントが設定されていれば、
そのフォント名を指定してやれば、表示できることがおおい。
指定するフォント名
- MS Windowsの日本語版をつかっているばあい
- 「MSゴシック」のフォントを指定してやればよい。
ただし、フォント名は日本語文字ではなくASCIIで「MS Gothic」などのように指定する。
(もし「MS明朝」を指定したいならば「MS Mincho」である。)
- Linux のうち Ubuntu 22.04 (hamana), 24.04 (niigata) のばあい
- 「Noto Sans CJK JP」を指定する。
どこに指定するか
- plt.text, set_title など
- () の中に 「, fontfamily='MS Gothic'」などをつけくわえればよい。
- [fontfamily としたところは fontname でも可能であり、増田がまえにつくったプログラム例ではそうなっているが、
fontfamily としたほうが柔軟な対応ができるようなのでこちらを紹介することにした。]
- legend
- () の中に「, prop = {"family" : "MS Gothic"}」などをつけくわえればよい。
- プログラムのはじめで一括指定する方法
- 「import matplotlib.pyplot as plt」の後 (直後がよい) に、
「plt.rcParams['font.family'] = 'MS Gothic'」という文を置く。
各プログラム内ではなく、ユーザーごとの matplotlib 設定を記述するファイル matplotlibrc で
指定する方法もある。(わたしはまだ動作確認できていない。)
参考
この件については、つぎのウェブページを参考にした。
- (BioTech ラボ・ノート) matplotlibで日本語を表示する【Python】 (2021-05-22)
https://biotech-lab.org/articles/10885
- (桂田 祐史) H..3 matplotlib で日本語タイトルを用いる
https://m-katsurada.sakura.ne.jp/labo/text/ode-workbook/node118.html [2025-09-09 閲覧]
- (Qiita @yniji) matplotlibで日本語 (2017-11-18, 更新 2019-05-27)
https://qiita.com/yniji/items/3fac25c2ffa316990d0c [2025-09-09 閲覧]
2022-05-09, 2025-09-09
増田 耕一 (MASUDA Kooiti)