いくつかの単純なmatplotlib関数を使用して円グラフを描画しています。
f = figure(...)
pie(fracs, explode=explode, ...)
ただし、デフォルトのフォントの色、線の色、フォントサイズを設定する方法、またはそれらをpie()に渡す方法を見つけることができませんでした。それはどのように行われますか?
いくつかの単純なmatplotlib関数を使用して円グラフを描画しています。
f = figure(...)
pie(fracs, explode=explode, ...)
ただし、デフォルトのフォントの色、線の色、フォントサイズを設定する方法、またはそれらをpie()に渡す方法を見つけることができませんでした。それはどのように行われますか?
パーティーに少し遅れて現れましたが、私はこの問題に遭遇し、rcParamsを変更したくありませんでした。
円グラフの作成から返されたテキストを保持し、matplotlib.font_managerを使用して適切に変更することにより、ラベルまたは自動パーセントのテキストのサイズを変更できます。
matplotlib.font_managerの使用について詳しくは、http://matplotlib.sourceforge.net/api/font_manager_api.htmlを ご覧ください。
組み込みのフォントサイズはAPIにリストされています。"サイズ:'xx-small'、'x-small'、'small'、'medium'、'large'、'x-large'、'xx-large'の相対値、または絶対フォントサイズ(例: 12インチ
from matplotlib import pyplot as plt
from matplotlib import font_manager as fm
fig = plt.figure(1, figsize=(6,6))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
plt.title('Raining Hogs and Dogs')
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15,30,45, 10]
patches, texts, autotexts = ax.pie(fracs, labels=labels, autopct='%1.1f%%')
proptease = fm.FontProperties()
proptease.set_size('xx-small')
plt.setp(autotexts, fontproperties=proptease)
plt.setp(texts, fontproperties=proptease)
plt.show()
グローバルなデフォルトの色、線幅、サイズなどは、rcParamsディクショナリで調整できます。
import matplotlib
matplotlib.rcParams['text.color'] = 'r'
matplotlib.rcParams['lines.linewidth'] = 2
パラメータの完全なリストはここにあります。
円グラフを描画した後、線幅を調整することもできます。
from matplotlib import pyplot as plt
fig = plt.figure(figsize=(8,8))
pieWedgesCollection = plt.pie([10,20,50,20],labels=("one","two","three","four"),colors=("b","g","r","y"))[0] #returns a list of matplotlib.patches.Wedge objects
pieWedgesCollection[0].set_lw(4) #adjust the line width of the first one.
残念ながら、pieメソッドまたはWedgeオブジェクトから円グラフラベルのフォントの色やサイズを調整する方法がわかりません。axis.pyのソース(matplotlib 99.1の4606行目)を見ると、Axes.textメソッドを使用して作成されています。このメソッドは色とサイズの引数を取ることができますが、これは現在使用されていません。ソースを編集せずに、あなたの唯一のオプションは、上記のようにグローバルにそれを行うことかもしれません。
matplotlib.rcParams['font.size'] = 24
円グラフのラベルのフォントサイズを変更します