1.2013~2019财年阿里巴巴淘宝和天猫平台的GMV(必包含元素:注释文本)
随着互联网与电子商务的快速发展,人们的消费模式发生了翻天覆地的变化,越来越多的消费者选择网络购物,省时省力。
阿里巴巴公司作为中国电商的引领者,其旗下的淘宝和天猫是深受消费者欢迎的网购平台。
本例要求根据下表的数据,将财年列的数据作为x轴数据,将GMV列的数据作为y轴数据,使用bar()函数绘制柱形图。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.title("2013~2019财年阿里巴巴淘宝和天猫平台的GMV")
x = ['FY2013','FY2014','FY2015','FY2016','FY2017','FY2018','FY2019']
y = [10770,16780,24440,30920,37670,48200,57270]
plt.xlabel("财年")
plt.ylabel("GMV")
plt.bar(x,y)
for i in range(len(x)):
plt.text(x[i], y[i], str(y[i]), ha='center', va='bottom')
plt.show()
2.支付宝月账单报告(必包含元素:标题、图例)
近年来随着支付App的出现,人们的生活发生了翻天覆地的变化,无论是到超市选购商品,还是跟朋友聚餐,或是来一场说走就走的旅行,都可以使用移动支付App轻松完成支付,非常便捷。
支付宝是人们使用较多的支付方式,它拥有自动记录每月账单的功能,可以方便用户了解每月资金的流动情况。
本例要求根据下表的数据,将分类列的数据作为饼图的标签,将各分类对应的金额与总支出金额的比例作为饼图的数据,使用pie()函数绘制饼图。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.title("支付宝月账单报告")
labels = '购物', '人情往来', '餐饮美食', '通信物流', '生活日用', '交通出行', '休闲娱乐', '其他'
sizes = [800 / 3000, 100 / 3000, 1000 / 3000, 200 / 3000,300 / 3000, 200 / 3000, 200 / 3000, 200 / 3000]
explode = (0,0,0,0,0,0,0,0)
plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)
plt.legend(loc = 'upper right', bbox_to_anchor=(1.2, 1))
plt.show()
3.2019年内地电影票房排行榜(必包含元素:刻度范围、刻度标签)
如今,看电影已经成为人们休闲娱乐的方式之一,它不仅是一种视觉享受,而且是一场精神盛宴,使人们放松身心。
本实例要求根据下表的数据,将电影名称列的数据作为y轴的刻度标签 ,将总票房(亿元)列的数据作为条形数据,使用barh()函数绘制条形图,并设置坐标轴标签和刻度标签。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.figure(figsize=(15,7))
plt.title("2019年内地电影票房排行榜")
x = ["哪吒之魔童降世","流浪地球","复仇者联盟4:终局之战","疯狂的外星人","飞驰人生","烈火英雄","蜘蛛侠:英雄远征","速度与激情:特别行动","扫毒2:天地对决","大黄蜂","惊奇队长","比悲伤更悲伤的故事","哥斯拉2:怪兽之王","阿丽塔:战斗天使","银河补习班"]
y = [48.57,46.18,42.05,21.83,17.03,16.70,14.01,13.84,12.85,11.38,10.25,9.46,9.27,8.88,8.64]
plt.xlabel("总票房(亿元)")
plt.ylabel("电影名称")
plt.barh(x,y)
for i, v in enumerate(y):
plt.text(v + 0.3, i, str(v))
plt.show()
4.物流公司物流费用统计(必含元素:标题)
近些年我国物流行业蓬勃房展,目前已经有近几千家物流公司,其中部分物流公司大打价格战,以更低的价格吸引更多的客户,从而抢占市场份额。
本实例要求根据下表的数据,将月份列的数据作为x轴的刻度标签,将A公司、B公司、C公司这三列数据作为y轴的数据,使用stackplot()函数绘制堆积面积图。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.title("物流公司物流费用统计")
x = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]
y1 = [198,215,245,222,200,236,201,253,236,200,266,290]
y2 = [203,236,200,236,269,216,298,333,301,349,360,368]
y3 = [185,205,226,199,238,200,250,209,246,219,253,288]
plt.stackplot(x, y1, y2, y3, labels=['A公司', 'B公司', 'C公司'])
plt.xlabel('月份')
plt.ylabel('物流费用(万元)')
plt.legend(loc='upper left')
plt.show()
5.某中学全校高二年级各班男女生英语成绩评估(必汉元素:刻度线)(10分)
某高中高二年级模拟考试后,学校对该年级各班各学科的平均成绩进行了统计,计算出全体高二年级的英语平均成绩为88.5。
本实例要求根据下表的数据,绘制展示各班男生、女生英语平均成绩的柱形图,并将全体高二年级的英语平均成绩绘制成参考线。
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.title("全校高二年级各班男女生英语成绩评估")
x = ["高二1班", "高二2班", "高二3班", "高二4班", "高二5班", "高二6班"]
y1 = [90.5, 89.5, 88.7, 88.5, 85.2, 86.6]
y2 = [92.7, 87.0, 90.5, 85.0, 89.5, 89.8]
bar_width = 0.4
index = np.arange(len(x))
plt.bar(index, y1, bar_width, label='男生平均成绩')
plt.bar(index + bar_width, y2, bar_width, label='女生平均成绩')
average = sum(y1 + y2) / len(y1 + y2)
plt.axhline(y=average, color='r', linestyle='--', label='全体平均成绩')
plt.xlabel("班级名称")
plt.ylabel("平均成绩")
plt.xticks(index + bar_width / 2, x)
plt.legend()
plt.show()
6.人脸识别的灰度直方图
人脸识别技术是一种生物特征识别技术,它通过从装有摄像头的终端设备拍摄的人脸图像中抽取人的个性化特征,以此来识别人的身份。
灰度直方图是实现人脸识别的方法之一,它将数字图像的所有像素按照灰度值的大小统计其出现的频率。
本实例要求使用一组10000个随机数作为人脸图像的灰度值,使用hist()函数绘制绘制包含25个矩形条的直方图直方图
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
gray_values = np.random.randint(0, 256, size=10000)
plt.hist(gray_values, bins=25, color='gray', edgecolor='black')
plt.xlabel('灰度值')
plt.ylabel('频率')
plt.title('人脸图像的灰度直方图')
plt.show()
7. 汽车速度与制动距离的关系(必含元素:网格)
汽车的制动距离主要取决于汽车的车速。若车速增加1倍,则汽车的制动距离将增大至近4倍。
某汽车生产公司对一批丰田汽车进行抽样测试,并分别记录了不同的车速对应的制动距离。
本实例要求根据下表的数据,将车速(km/h)列的数据作为x轴的数据,将制动距离(m)列的数据作为y轴的数据,使用scatter()函数绘制散点图。
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.title("汽车速度与制动距离的关系")
x = ["10", "20", "30", "40", "50", "60","70","80","90","100","110","120", "130", "140", "150", "160","170","180","190","200"]
y = [0.5,2.0,4.4,7.9,12.3,17.7,24.1,31.5,39.9,49.2,59.5,70.8,83.1,96.4,110.7,126.0,142.2,159.4,177.6,196.8]
plt.scatter(x,y)
plt.xlabel("车速(km/h)")
plt.ylabel("制动距离(m)")
plt.grid(True)
plt.show()
8.霍兰德职业兴趣测试(必含元素:维度标签)
霍兰德职业兴趣测试是由美国职业指导专家霍兰德根据他本人大量的职业咨询经验及其职业类型理论编制的测评工具。
根据个人兴趣的不同,霍兰德将人格分为研究型(I)、艺术型(A)、社会型(S)、企业型(E)、传统型(C)和现实型(R)6个维度,将这6个维度不同程度的组合形成每个人的性格。
本实例要求根据下表的数据,将标题一行的数据作为雷达图的标签,将其余行的数据作为雷达图的数据,使用polar()函数绘制雷达图。
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
dim_num = 6
data = np.array([[0.40,0.32,0.35,0.30,0.30,0.88],
[0.85,0.35,0.30,0.40,0.40,0.30],
[0.43,0.59,0.30,0.28,0.22,0.30],
[0.30,0.25,0.48,0.85,0.45,0.40],
[0.20,0.38,0.87,0.45,0.32,0.28],
[0.34,0.31,0.38,0.40,0.92,0.28]])
angles = np.linspace(0,2*np.pi,dim_num,endpoint=False)
angles = np.concatenate((angles,[angles[0]]))
data = np.concatenate((data,[data[0]]))
rrandar_labels = ['研究型(I)', '艺术型(A)', '社会型(S)', '企业型(E)', '传统型(C)', '现实型(R)']
radar_labels= np.concatenate((rrandar_labels,[rrandar_labels[0]]))
plt.polar(angles,data)
plt.thetagrids(angles*180/np.pi,labels=radar_labels)
plt.fill(angles,data,alpha=0.25)
plt.show()