在饼图matplotlib中增加标签的字体大小

时间:2019-03-14 11:35:40

标签: python matplotlib pie-chart

我有一个饼形图,如下所示:

enter image description here

我尝试使用textprops = {'fontsize':18})来增加字体大小。但是,它仅更改了pie内部百分比标签的字体大小,而外部的标签保持不变。

我想在上面的饼图中增加标签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 个答案:

答案 0 :(得分:3)

尝试:

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

答案 1 :(得分:0)

您可能正在使用旧版本的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类似。