Pythonのライブラリーであるmatplotlibを使ってグラフに日本語のラベルを設定しようとしたら、文字化けが発生した。
■文字化けが発生しているグラフ
英文字部分は、文字化けしていないが日本語の部分が□で表示されてしまっている。
原因は日本語に対応していないフォントだった
matplotlibのデフォルトのフォントが日本語に対応していないため。
フォントに日本語のデータが無かったために□で表示されてしまっていたようです。
解決方法はFontPropertiesを使うこと
matplotlibの「FontProperties」を使って、日本語対応しているフォントを指定する。
手順は、以下の通り。
日本語のフォントをダウンロードする
IPAフォントのサイトに行き、日本語フォントをダウンロードします。
ダウンロード場所は、PCの任意のディレクトリでよいです。
フォントを読み込む
Pythonのコードにフォントを読み込む処理を
以下のようなコードを書いて、実装します。
from matplotlib.font_manager import FontProperties
font_path = '/Users/dokoka/ipamp.ttf' #任意のディレクトリを指定する
font_prop = FontProperties(fname=font_path)
コードの全体像は以下の通り
#グラフに日本語を表示する
%matplotlib inline
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
from numpy.random import *
#日本語が使えるフォントの場所を指定する
#DLしたパスを指定. /font以下でなくても良い
font_path = '/Users/dokoka/ipamp.ttf'
font_prop = FontProperties(fname=font_path)
#散布図を書く
x_data = normal(50,10, size = 10) # 平均50、標準偏差10の正規分布
y_data = normal(100,2, size = 10) # 平均100、標準偏差10の正規分布
plt.title("タイトル", fontproperties=font_prop)
plt.scatter(x_data,y_data )
plt.xlabel("ラベル-X", fontproperties=font_prop)
その結果、無事に日本語が表示されました!
\IT未経験者からのサポートあり!転職サービス3選!!/
サービス名 | |||
---|---|---|---|
未経験 | 未経験OK | 未経験の転職専用 | 経験者向け |
公開の求人数 | ITエンジニア全体で1万件以上 ITエンジニア未経験で600件以上 |
未公開 | 5,000件以上 |
利用対象 | 全職種 | IT特化 | IT特化 |
特徴 | ✓誰もが知る転職サービス ✓経歴を登録しておくとオファーが来る |
✓企業担当者と条件交渉 ✓スキルの身につく企業を紹介 |
✓IT専門のエージェントが対応 ✓転職成功すると年収200万円以上の大幅アップがある |
転職サポート内容 |
|
|
|
公式サイト | リクナビネクスト | テックゲート | レバテックキャリア |