👻
matplotlibでフォント指定:日本語文字化け対策
pythonのmatplotlibやseabornでグラフを描画すると
日本語のラベルなどが文字化けします
文字化け対策
日本語対応のフォントを指定すると
文字化けを回避できます
import matplotlib.pyplot as plt
# フォントを指定
plt.rcParams['font.family'] = 'Source Han Code JP'
お好みのフォントを指定してください
使用フォント
日本語とアルファベットがバランスよくキレイに表示される
源ノ角ゴシック Code JP
を使用しました
文字化けの原因
デフォルトで使用されるフォントが日本語表示に対応していません
plt.rcParams['font.family']
# 出力
['sans-serif']
グラフを表示すると次のようなWarningがでます
UserWarning: Glyph 20307 (\N{CJK UNIFIED IDEOGRAPH-4F53}) missing from font(s) DejaVu Sans.
グラフ表示に使用されているフォントが
日本語表示に対応していないため、文字化けを起こしていました
日本語に対応している任意のフォントを指定することで
文字化けを解消できます
# フォントを指定
plt.rcParams['font.family'] = 'Source Han Code JP'
文字化け対策別解
日本語表示用ライブラリjapanize-matplotlib
をインポートすると文字化け解消します
インストール
pip install japanize-matplotlib
使い方は、japanize_matplotlib
をimportの最後に
importするだけです
インポート
import matplotlib.pyplot as plt
import japanize_matplotlib
Discussion