2022年 11月 4日

Python绘制饼状图

绘制饼图

matplotlib 模块使用pie函数绘制饼图,其调用方式如下:

  1. matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, *, data=None)[source]

饼图是逆时针绘制的,参数x表示绘制的序列数据,explode用于突出某个楔形(切片),具体值为偏移圆中心的占比,labels是一个字符串序列,用于给每个楔形打标签,colors用于指定楔形的颜色,autopct参数表示用数值标记楔形,可指定显示方式且标记在内部。

代码示例

  1. # 绘制育龄妇女的受教育程度分布饼图
  2. import matplotlib.pyplot as plt
  3. # ********** Begin *********#
  4. #总数据
  5. Num = 46431380
  6. #单个数据
  7. data = [2052380,11315444,20435242,7456627,3014264,1972395,185028]
  8. #数据标签
  9. labels = ['none', 'primary', 'junior', 'senior', 'specialties', 'bachelor', 'master']
  10. #各区域颜色
  11. colors = ['red','orange','yellow','green','purple','blue','black']
  12. #数据计算处理
  13. sizes = [data[0]/Num*100,data[1]/Num*100,data[2]/Num*100,data[3]/Num*100,data[4]/Num*100,data[5]/Num*100,data[6]/Num*100]
  14. #设置突出模块偏移值
  15. expodes = (0,0,0.1,0,0,0,0)
  16. #设置绘图属性并绘图
  17. plt.pie(sizes,explode=expodes,labels=labels,shadow=True,colors=colors)
  18. ## 用于显示为一个长宽相等的饼图
  19. plt.axis('equal')
  20. #保存并显示
  21. plt.savefig('picture/step3/fig3.png')
  22. plt.show()
  23. # ********** End **********#

运行结果