【饼状图】教你画一个大饼

基本写法

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()

在这里插入图片描述
其实还有一些,不过我没用过,就没写
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值