3.8 绘制饼状图

3.8 绘制饼状图

前言:
饼图很紧凑,看上去很有美感,但是它们也因为难以对数量进行比较而备受批评。饼图的另一个不好的特征是它以特定角度(视角)的方式和一定颜色的扇形展示数据,这会使我们的感觉有倾向性,从而影响我们对于所呈现数据得出的结论。

  • 饼图在很多方面很特别,最重要的一点是它显示的数据集合加起来必须等于100%,否则它就是无意义的、无效的。
  • 下面我们来看一个分裂式饼状图的示例
"""
绘制分裂饼状图
"""
import numpy as np
import matplotlib.pyplot as plt
#make a square figure and axes
# plt.figure(1, figsize=(6, 6))
p1=plt.subplot(1,2,1)
ax= plt.axes([0.1, 0.1, 0.8, 0.8])
# plt.axis('equal')
#the slices will be ordered
#and plotted counter-clockwise
labels='Spring','Summer','Autumn','Winter'
#fraction are either x/sum(x) or x if sum(x)<=1
x=[30,45,15,10]
#explode must be len(x) sequence or None
explod=(0.1,0.1,0.1,0.1)
# wedgeprops='dict(width=0.1)','dict(width=0.1)','dict(width=0.1)','dict(width=0.1)'
colors='#A7D67F','#94C6DC','#E2A389','#FFCC80'
p1.pie(x,explode=explod,labels=labels,autopct='%1.1f%%',startangle=67,colors=colors,
        shadow=True)
p1.set_title('the explod pie')

shadow='True','False','False','False'
explod1=(0.1,0,0,0)
# plt.figure(1, figsize=(6, 6))
p2=plt.subplot(1,2,2)
p2.pie(x,explode=explod1,labels=labels,autopct='%1.1f%%',startangle=67,colors=colors,
        shadow=shadow,wedgeprops=dict(width=0.6))
p2.set_title('the loop pie')

# plt.title('Rainy days by season')
plt.legend(loc='upper right')
plt.pie(x,explode=explod1,labels=labels,autopct='%1.1f%%',startangle=67,colors=colors,
        shadow=shadow,wedgeprops=dict(width=0.6))

plt.show()

3.8 绘制饼状图_第1张图片
3.8 绘制饼状图_第2张图片

  • shadow的值是布尔值:是否给饼图添加阴影效果
  • 如果没有指定 startangle,扇区将从 x 轴(角度 0)开始逆时针排列;如果指定atartangle的值为90,饼图将从y轴开始。

有关饼状图的一些参数的含义扩展

  • labels=[] 用于设置对应数据的标签
  • labeldistance:设置标签距离圆心额距离,
  • autopct=’%1.1%%’ 设置数据以%显示【%1.1f:保留一位小数;%1.2f保留两位小数】
  • pctdistance:设置比例文字距离圆心的距离
  • colors:设置每一块的颜色

你可能感兴趣的:(Python数据可视化,python,数据分析,数据可视化)