基本写法
from matplotlib import pyplot as plt
#设置大小,分别是 宽 和 高
plt.rcParams['figure.figsize'] = (5,5)
#定义饼的标签
lab = [8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6,9.7]
#每个标签对应的值
val = [ 1,10 ,21, 39 ,39 ,40 ,18 ,25 ,19 ,20 , 9 , 3 , 5 , 1]
# 绘制饼状图
plt.pie(val,labels=lab)
#展示 pycharm里面需要加这个才能显示,jupyter notebook 里面不需要
plt.show()
百分比:autopct
需要显示百分比加一个参数就行:autopct
这里强调一下格式:
以 autopct=‘%.2f%%’ 为例
前后两边的百分号不可少,不然报错。
中间是格式 .2f 是保留两位小数(f:浮点数,这里可以自己试一试)
from matplotlib import pyplot as plt
#设置大小,分别是 宽 和 高
plt.rcParams['figure.figsize'] = (5,5)
#定义饼的标签
lab = [8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6,9.7]
#每个标签对应的值
val = [ 1,10 ,21, 39 ,39 ,40 ,18 ,25 ,19 ,20 , 9 , 3 , 5 , 1]
# 绘制饼状图
plt.pie(val,labels=lab,autopct='%.2f%%')
#展示
plt.show()
但是这样不美观,你看,8.4 和 9.7 脸都贴一块了,这能忍?不想看他俩贴贴就需要一个参数
饼状图的分离:explode
from matplotlib import pyplot as plt
#设置大小,分别是 宽 和 高
plt.rcParams['figure.figsize'] = (5,5)
#定义饼的标签
lab = [8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6,9.7]
#每个标签对应的值
val = [ 1,10 ,21, 39 ,39 ,40 ,18 ,25 ,19 ,20 , 9 , 3 , 5 , 1]
#到圆心的距离 这里的距离是按半径算的,1 就是半径
dis = [0.08,0.03,0.02,0.01,0.01,0,0.04,0.03,0.03,0.03,0.05,0.06,0.05,0.08]
# 绘制饼状图
plt.pie(val,labels=lab,autopct='%.2f%%',explode=dis)
#展示
plt.show()
设置饼状图百分比和文本距离中心位置
- pctdistance :设置百分比标签与圆心的距离
- labeldistance :设置各扇形标签与圆心的距离
用法和上面一样
from matplotlib import pyplot as plt
#设置大小,分别是 宽 和 高
plt.rcParams['figure.figsize'] = (5,5)
#定义饼的标签
lab = [8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6,9.7]
#每个标签对应的值
val = [ 1,10 ,21, 39 ,39 ,40 ,18 ,25 ,19 ,20 , 9 , 3 , 5 , 1]
#到圆心的距离
dis = [0.08,0.03,0.02,0.01,0.01,0,0.04,0.03,0.03,0.03,0.05,0.06,0.05,0.08]
# 绘制饼状图
plt.pie(val,labels=lab,autopct='%.2f%%',explode=dis,pctdistance=1.2,labeldistance=1.3)
#展示
plt.show()
图例 :legend()
from matplotlib import pyplot as plt
#设置大小,分别是 宽 和 高
plt.rcParams['figure.figsize'] = (5,5)
#定义饼的标签
lab = [8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6,9.7]
#每个标签对应的值
val = [ 1,10 ,21, 39 ,39 ,40 ,18 ,25 ,19 ,20 , 9 , 3 , 5 , 1]
#到圆心的距离
dis = [0.08,0.03,0.02,0.01,0.01,0,0.04,0.03,0.03,0.03,0.05,0.06,0.05,0.08]
# 绘制饼状图
plt.pie(val,labels=lab,autopct='%.2f%%',explode=dis,pctdistance=1.2,labeldistance=1.3)
#图例
plt.legend()
#展示
plt.show()
其实还有一些,不过我没用过,就没写