(Python)matplotlibの日本語表示(mac編)

NO IMAGE


環境がmacになりますので、mac編とさせていただきます。

今回表示させたいエクセルデータです。

B1の文字を自動で表示させてくれますので
表示させたい文字」として入力しました。

まずは、このデータをmatplotlibのグラフを表示させたいと思います。

import matplotlib.pyplot as plt
import pandas as pd

%matplotlib inline
excel_path = '/Users/user_name/excel_file.xlsx'

df = pd.read_excel(excel_path)
df.plot()

こう表示されました。

□□□□□□□と表示されて日本語が文字化けしているのが分かるかと思います。

日本語表示させるために以下の2行追加しました。

import matplotlib as mpl
mpl.rcParams['font.family'] = 'AppleGothic'

全体のコードです。

import matplotlib.pyplot as plt
import pandas as pd
import matplotlib as mpl
mpl.rcParams['font.family'] = 'AppleGothic'

%matplotlib inline
excel_path = '/Users/user_name/excel_file.xlsx'

df = pd.read_excel(excel_path)
df.plot()

今度は「表示してほしい文字列」と表示してくれました

他に使える文字コードの調べ方


読み込めるフォントファイルのリストは以下のようにして調べられます。

import matplotlib.font_manager
print([f.name for f in matplotlib.font_manager.fontManager.ttflist])

実行結果はこのようになりました。

['DejaVu Sans', 'STIXSizeOneSym', 'DejaVu Sans Mono', 'STIXGeneral', 'STIXSizeFiveSym', 'STIXSizeOneSym', 'STIXNonUnicode', 'STIXSizeFourSym', 'STIXGeneral', 'STIXSizeThreeSym', 'DejaVu Sans', 'DejaVu Sans Mono', 'DejaVu Sans Mono', 'cmtt10', 'DejaVu Serif', 'cmr10', 'cmex10', 'STIXGeneral', 'DejaVu Sans Mono', 'cmb10', 'STIXSizeFourSym', 'DejaVu Sans Display', 'STIXSizeThreeSym', 'DejaVu Sans', 'STIXSizeTwoSym', 'STIXSizeTwoSym', 'DejaVu Serif Display', 'DejaVu Sans', 'cmmi10', 'cmsy10', 'STIXNonUnicode', 'cmss10', 'DejaVu Serif', 'STIXGeneral', 'STIXNonUnicode', 'DejaVu Serif', 'STIXNonUnicode', 'DejaVu Serif', 'Georgia', '.SF NS Display Condensed', 'Trebuchet MS', 'Trebuchet MS', 'Noto Sans Saurashtra', 'Noto Sans Rejang', '.SF NS Display Condensed', '.SF NS Display Condensed', 'DIN Condensed', 'Noto Sans NKo', 'Noto Sans Batak', '.SF NS Text Condensed', 'Noto Sans Yi', 'Arial Rounded MT Bold', 'Times New Roman', 'Noto Sans Sundanese', 'Verdana', 'Arial Narrow', 'Zapfino', 'Verdana', 'Noto Sans Osmanya', 'Georgia', 'Apple Braille', 'Apple Chancery', 'STIXNonUnicode', 'STIXIntegralsUpD', 'Symbol', '.SF Compact Text', 'Herculanum', 'Noto Sans Hanunoo', 'Noto Sans Mongolian', '.SF NS Display Condensed', 'STIXIntegralsUpSm', 'Noto Sans Tai Viet', 'Noto Sans Ogham', '.New York', 'Lao Sangam MN', 'Trebuchet MS', '.SF NS Display Condensed', 'Noto Sans Old Italic', 'Verdana', 'STIXSizeFourSym', 'Farisi', 'Noto Sans Buginese', 'Verdana', 'Georgia', 'STIXSizeTwoSym', 'AppleGothic',........

先ほど使用したAppleGothicも中に入っているのが確認できました。

サイズを変更する


サイズが少し小さいので大きさを変更したいと思います。
plotに引数を指定できます。

import matplotlib.pyplot as plt
import pandas as pd
import matplotlib as mpl
mpl.rcParams['font.family'] = 'AppleGothic'

%matplotlib inline
excel_path = '/Users/user_name/excel_file.xlsx'

df = pd.read_excel(excel_path)
df.plot(figsize=(16, 5))


サイズを指定したことにより、
大きくなってみやすくなりました。

programmingカテゴリの最新記事