Pythonのmatplotlibの円グラフの文字を変更する方法を説明します。
円グラフを描いてみる
matplotlibの円グラフのデモサイトはこちらです。
デモサイト通りに、円グラフを描いてみます。
import matplotlib.pyplot as plt
import os
from datetime import datetime
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
fig1, ax1 = plt.subplots()
ax1.pie(
sizes,
labels=labels,
autopct='%1.1f%%',
startangle=90,
)
filename = 'pie_chart_' + datetime.today().strftime('%Y%m%d') + '_a.png'
graph_path = os.path.join(os.getcwd(), filename)
plt.savefig(graph_path)
円グラフができあがります。

matplotlib.pyplot.pieのパラメータに”fontproperties”パラメータが無い
書式の指定のためには、fontpropertiesだと思って実装するとエラーが出ました。
TypeError: pie() got an unexpected keyword argument 'fontproperties'
この実装だとエラーになります。
import matplotlib.pyplot as plt
import os
from datetime import datetime
from matplotlib.font_manager import FontProperties
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
fp = FontProperties(fname='MPLUSRounded1c-Black.ttf')
fig1, ax1 = plt.subplots()
ax1.pie(
sizes,
labels=labels,
autopct='%1.1f%%',
startangle=90,
fontproperties=fp,
)
filename = 'pie_chart_' + datetime.today().strftime('%Y%m%d') + '_b.png'
graph_path = os.path.join(os.getcwd(), filename)
plt.savefig(graph_path)
“textprops”パラメータで書式を変える
matplotlib.pyplot.pieのサイトを見てみると、fontpropertiesパラメータは存在せずtextpropsパラメータというものがあります。
textpropsのサイトを見てみると、プロパティにfontpropertiesパラメータがあることがわかります。
textpropsパラメータを使って、修正します。
import matplotlib.pyplot as plt
import os
from datetime import datetime
from matplotlib.font_manager import FontProperties
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
fp = FontProperties(fname='MPLUSRounded1c-Black.ttf')
fig1, ax1 = plt.subplots()
ax1.pie(
sizes,
labels=labels,
autopct='%1.1f%%',
startangle=90,
textprops={
'fontproperties': fp,
},
)
filename = 'pie_chart_' + datetime.today().strftime('%Y%m%d') + '_c.png'
graph_path = os.path.join(os.getcwd(), filename)
plt.savefig(graph_path)
円グラフの書式を設定できました。
フォントの種類をMPLUSRounded1c-Blackにしてみました。


