54

視認性を向上させるために、Pythonの円グラフに小さいサイズのラベルを付けたいのですが、ここにコードがあります

import matplotlib.pyplot as plt

frac=[1.40 , 10.86 , 19.31 , 4.02 , 1.43 , 2.66 , 4.70 , 0.70 , 0.13 , 1.48, 32.96 , 1.11 , 13.30 , 5.86]
labels=['HO0900344', 'HO0900331', 'HO0900332', 'HO0900354', 
'HO0900358', 'HO0900374', 'HO0900372', 'HO0900373', 
'HO0900371', 'HO0900370', 'HO0900369', 'HO0900356', 
'HO0900353', 'HO0900343']

fig = plt.figure(1, figsize=(6,6))
ax = fig.add_subplot(111)
ax.axis('equal')
colors=('b', 'g', 'r', 'c', 'm', 'y', 'burlywood', 'w')
ax.pie(frac,colors=colors ,labels=labels, autopct='%1.1f%%')
plt.show()

ありがとう、歓声

4

2 に答える 2

129

円グラフのフォントサイズを変更する最も簡単な方法は、関数のtextprops引数を直接使用することです。pie()上記のコードを使用して、次のように追加します。

ax.pie(frac, colors=colors ,labels=labels, 
       autopct='%1.1f%%', textprops={'fontsize': 14})

そうすれば、希望のフォントサイズ(例:14)で辞書を渡すことができます。rcParams関数呼び出しをいじったり、値を返したりする必要はありません。

于 2018-07-12T09:09:27.830 に答える
65

ラベルのフォントサイズを変更する方法はいくつかあります。

rc設定を動的に変更できます。スクリプトの先頭に次を追加します。

import matplotlib as mpl
mpl.rcParams['font.size'] = 9.0

または、作成後にラベルを変更することもできます。呼び出すax.pieと、(パッチ、テキスト、オートテキスト)のタプルが返されます。例として、コードの最後の数行を次のように変更します。

patches, texts, autotexts = ax.pie(frac, colors=colors, labels=labels, autopct='%1.1f%%')
texts[0].set_fontsize(4)
plt.show()
于 2011-08-16T17:52:08.343 に答える