matplotlib里面添加统计图表——饼状图比例以及对应表格实战

源码实战案例1:

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
# Author's_name_is_NIKOLA_SS

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

data = [42, 97, 65, 30]
labels = ["哈士奇", "贵宾犬", "吉娃娃", "柴犬"]
sum = sum(data)
num = []
for i in data:
        num.append(i/sum)
plt.pie(num,
        explode=(0.1, 0.1, 0.1, 0.1),
        labels=labels,
        autopct="%3.1f%%",
        shadow=True,
        colors=["r", "g", "b", "y"])
plt.title("不同类型狗的数量所占的百分比", size=20)
rowLabels = ["狗的数量"]
plt.table(cellText=[data],
          cellLoc="center",
          colWidths=[0.1, 0.1, 0.1, 0.1],
          colLabels=labels,
          colColours=["r", "g", "b", "y"],
          rowLabels=rowLabels,
          rowLoc="center",
          loc="bottom")
          #设定图表的基本参数
plt.show()

效果如图:
在这里插入图片描述
源码实战案例2:

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
# Author's_name_is_NIKOLA_SS
#pip install   -i https://pypi.mirrors.ustc.edu.cn/simple/
#matplotlib.rcParams['font.family'] = 'SimHei'  # 用来正常显示中文
#plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]#展示中文字体
mpl.rcParams["axes.unicode_minus"]=False#处理负刻度值

labels = ["优秀","良好","中等","不及格","差"]#每份饼片的文本标签内容
values = [64,31,57,26,89]
colors = ["lightsteelblue","cornflowerblue","royalblue","steelblue","skyblue"]#饼片颜色
plt.pie(values,
        labels = labels,
        explode = [0.1,0.1,0.1,0.1,0.2],#饼片边缘偏离半径的百分比
        autopct = "%3.2f%%",#数值百分比样式
        startangle = 60,#第一个饼片逆时针旋转角度
        colors = colors,
        pctdistance = 1.1,#百分比数值位置,与半径长度的比例
        labeldistance = 0.5,#标签值位置,与半径长度的比例
        shadow = False)#无阴影设置
plt.axis('equal')#保证画出来的饼图是圆饼图
plt.title("学生考试成绩情况图",loc = "center")#设置饼图的标题

# plt.show()

colLabels = ["优秀","良好","中等","不及格","差"]
rowLabels = ["不同成绩等级的学生人数"]

colColours = ["lightsteelblue","cornflowerblue","royalblue","steelblue","skyblue"]
values=[values]

plt.table(cellText = values,#表格的数值
          cellLoc = "center",#表格中的数据对齐方式
          colLabels = colLabels,#表格中每列的列名称
          colColours = colColours,#表格每列的列名称所在单元格的颜色
          colWidths = [0.1]*6,#表格每列的宽度
          rowLabels = rowLabels,#表格每行的行名称
          rowLoc = "center",#表格每行的行名称对齐方式
          loc = "bottom")   #表格在画布中的位置

plt.title("附加表格的学生考试成绩图")
plt.savefig("./附加表格的学生考试成绩图")
#plt.savefig()一定放在plt.show()之前,否则无法保存
plt.show()

另外的,效果如图:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海宝7号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值