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にしてみました。