增加饼图中的标签字体大小matplotlib [复制]

问题描述 投票:-1回答:2

这个问题在这里已有答案:

我有一个饼图,看起来像:

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()
python matplotlib pie-chart
2个回答
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

0
投票

您可能正在使用旧版本的matplotlib;在任何较新版本中,标签和autopercentages都具有相同的大小。

因此,问题可以归结为如何为标签和自动百分比设置不同的字体大小。

有一个像这样的饼图

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))

你可以循环标签或autopercentages并设置fontsize

for lab in labels:
    lab.set_fontsize(15)

或者一次性设置它们,比如

plt.setp(labels, fontsize=15)

autopct类似。

© www.soinside.com 2019 - 2024. All rights reserved.