源码实战案例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()
另外的,效果如图: