Python-如何在饼图中将autopct文本更改为白色和粗体?

时间:2019-07-16 17:08:17

标签: python matplotlib seaborn

我想将autopct文本更改为粗体和白色。

如果我在ax1.pie(..)中插入textprops = {'color':'white','weight':'bold','fontsize':12.5},标签就会消失。

有人可以帮我吗?

sizes1 = [3, 19]
explode1 = (0, 0.05)

fig, (ax1, ax2) = plt.subplots(1,2, figsize=(10,10))
labels = ('CRD = 1', 'CRD = 0')

#fig1, ax1 = plt.subplots()
ax1.pie(sizes1,explode= explode1, labels=labels, autopct='%1.1f%%',
        shadow=False,startangle=40, colors=('tab:red', 'tab:blue'))
ax1.set_title('Frauen', fontdict={'fontsize': 17}, y=0.8)

ax1.axis('equal')

sizes2 = [10, 24]
explode2 = (0, 0.05)


ax2.pie(sizes2, labels=labels, autopct='%1.1f%%',
        shadow=False,explode = explode2, startangle=345, colors=('tab:red','tab:blue'), )
ax2.set_title('Männer', fontdict={'fontsize': 17}, y=0.8)
ax2.axis('equal')

饼图

enter image description here

1 个答案:

答案 0 :(得分:0)

由于textprops既适用于标签,也适用于自动百分比文本,因此您需要在pie函数外部设置自动百分比文本的格式。

import matplotlib.pyplot as plt

sizes1 = [3, 19]
explode1 = (0, 0.05)
labels = ('CRD = 1', 'CRD = 0')

fig1, ax1 = plt.subplots()
_, _, autopcts = ax1.pie(sizes1,explode= explode1, labels=labels, autopct='%1.1f%%',
        shadow=False,startangle=40, colors=('tab:red', 'tab:blue'))

plt.setp(autopcts, **{'color':'white', 'weight':'bold', 'fontsize':12.5})
ax1.set_title('Frauen', fontdict={'fontsize': 17})

plt.show()

enter image description here