增加Matplotlib饼图标签的字体大小

5
我有一个饼图,长这样:

enter image description here

我试过使用textprops={'fontsize': 18}增加字体大小,但只改变了饼内百分比标签字体大小,而外部标签没有受到影响。
我想增加上述饼图中标签A、B、C等的字体大小。
我的代码:
fig1, ax1 = plt.subplots(figsize=(24,12))
flavor_pie = ax1.pie(data2.Count_Of_labels,labels=['A','B','C','D','E','F'], autopct='%.0f%%', shadow=True, colors=colors, 
                     explode= explode1, startangle= -90, textprops={'fontsize': 18})

centre_circle = plt.Circle((0,0),0.20,fc='white')
fig = plt.gcf()
fig.gca().add_artist(centre_circle)

ax1.axis('equal')  
plt.tight_layout()
plt.show()
2个回答

8

尝试:

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

或者,
mpl.rcParams.update({'font.size': 18})

或者,
import matplotlib.pyplot as plt
plt.rcParams['font.size'] = 18

2
你可能正在使用较旧版本的matplotlib;在任何更新的版本中,标签和自动百分比都具有相同的大小。
因此问题归结为如何为标签和自动百分比设置不同的字体大小。
像这样拥有饼图
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
wedges, labels, autopct = ax.pie([1,2,3,4,3,2],labels=['A','B','C','D','E','F'], 
                                  autopct='%.0f%%', wedgeprops=dict(width=.7))

你可以循环标签或自动百分比,并设置字体大小,例如:
for lab in labels:
    lab.set_fontsize(15)

最初的回答或者一次性设置它们,例如:
plt.setp(labels, fontsize=15)

最初的回答
对于autopct也是类似的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接