Elsaの技術日記(徒然なるままに)

主に自分で作ったアプリとかの報告・日記を記載

MENU

Matplotlibで日本語表記に対応する

突然ですが、、、、最近ポケモンにはまっておりますw。
アニメやゲーム実況見ていたらゲームやってみたくなってポケモン剣盾やっていたら辞められなくなってしまいましたw。
ポケモン剣盾で厳選楽になったとは言え、やはりめんどくさいです。。。

ポケットモンスター ソード -Switch

ポケットモンスター ソード -Switch

  • 発売日: 2019/11/15
  • メディア: Video Game


さて、今はまっているポケモンで面白いものを作れないかな?と思い調べてみたところ、面白いものを見つけました!!
www.hands-lab.com

こちらのURLに載っているcsvファイルをダウンロードしてみたところ、第1~第7世代のポケモンは全数?載っておりました!!
結構しっかり載っていてちょっと驚きw。
だけど、最新の第8世代は載っていなかったので残念。。。


ではこちらの環境で、
 ・OS:Windows 10
 ・アプリ:anaconda
 ・pythonPython 3.6.8

csvを読み込んで簡単にMatplotlibでグラフを書いてみると、、、

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("pokemon_status.csv",encoding="shift-jis")

plt.scatter(df['HP'],df['合計'])
plt.xlabel("HP")
plt.ylabel("合計")
plt.show()

f:id:Elsammit:20200623212825j:plain


あれ?日本語表記されない、、、
調べてみたところ、Matplotlibの日本語対応するためには追加でファイルの取得等が必要になるらしい。
datumstudio.jp


ということで、先ほどのURLを元に
 ・IPAexGotic(無料フォント)をhttps://ipafont.ipa.go.jp/からipaexg.ttfダウンロード
 ・C:\Users\[ユーザー名]\Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttfにipaexg.ttfを保存
 ・C:\Users\[ユーザー名]\Anaconda3\Lib\site-packages\matplotlib\mpl-data内のmatplotlibrcを開き、font.family : IPAexGothicを追記
を実行!!

再度先ほどのコードを実行!!
。。。あれ?まだ表示されない!!

ここで詰まってしまい1時間経過。。。

結果、Matplotlibのフォントリストに登録していなかったことが原因でした!!
こちらのファイルに、
C:/Users/<ユーザ名>/.matplotlib/fontlist-v310.json

こちらを追記すればOKです。

    {
      "fname": "fonts\\ttf\\ipaexg.ttf",
      "name": "IPAexGothic",
      "style": "normal",
      "variant": "normal",
      "weight": 400,
      "stretch": "normal",
      "size": "scalable",
      "__class__": "FontEntry"
    },

では、、、再度先ほどのソースを実行!!
今度こそ日本語が表示されました!!

f:id:Elsammit:20200623212932j:plain


本当はこんな感じで相関見つけたりして遊ぼうと思ったのですが、初期設定でかなりつまずいてしまった泣。
こんなところで躓きたくないので備忘録も兼ねて記載しました!!
nanjamonja.net


これから色々データ分析して、面白いことが出来たらアップしたいと思います!!