python画饼状图如何解决字体重叠问题

5,402 阅读1分钟

  使用python的matplotlib库绘制饼状图非常方便,只需要提供数据,就可以把图画出来

import matplotlib.pyplot as plt

data = [89,95,60]
labels = ['甲','乙','丙']
plt.pie(data, autopct='%.2f%%',labels=labels)

plt.legend()
plt.show()

  但是在我们使用过程中常常碰到因数据过小而导致的字体重叠。

  这时我们可以添加pctdistance参数,该参数可以认为是图中百分比距离圆心的距离。

import matplotlib.pyplot as plt

data = [89,95,60,2,4]
labels = ['甲','乙','丙','丁','戊']
plt.pie(data, autopct='%.2f%%',labels=labels,pctdistance=0.9)

plt.legend()
plt.show()

  这样问题得到了有效解决。

  实际上我们可以再添加一个参数explode,该参数表示(每一块)离开中心距离。

plt.pie(data, autopct='%.2f%%',labels=labels,pctdistance=0.9,explode=(0,0,0,0.4,0.2))

  绘制的图如下,相当于把较小的部分抠了出来。

python画图中文字体不显示的问题