Matplotlib之图形应用
3 图形应用
3.1 散点图
散点图用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。
特点:判断变量之间是否存在数量关联趋势,表示离群点(分布规律)
散点图绘制
散点图通过scatter()函数绘制
- plt.scatter(x,y) # 以默认的形状颜色等绘制散点图
练习1
假设通过爬虫你获取到了长沙2019年4,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温和随时间变化的某种规律
a = [11,17,16,11,12,11,12,13,10,14,8,13,12,15,14,17,18,21,16,17,30,14,15,15,15,19,21,22,22,22,23]
b = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,15,10,11,13,12,13,6]
from matplotlib import pyplot as plt
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
a = [11,17,16,11,12,11,12,13,10,14,8,13,12,15,14,17,18,21,16,17,30,14,15,15,15,19,21,22,22,22,23]
b = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,15,10,11,13,12,13,6]
x_a=range(1,32)
x_b=range(51,82)
plt.figure(figsize=(10,4))
plt.scatter(x_a,a)
plt.scatter(x_b,b)
#刻度 (range函数不能相加)
x_t=list(x_a)+list(x_b)
x_l=["四月{}号".format(i) for i in x_a]
x_l+=["十月{}号".format(i-50) for i in x_b]
#进行切片,三天一切割,防止看不清
plt.xticks(x_t[::3],x_l[::3],rotation=45)
plt.show()
练习2
为了对某一产品进行合理定价,我们对此类商品进行了试销实验,价格与需求量数据如下。利用图表分析规律。
price = [60,80,40,30,70,90,95]
sales = [100,50,120,135,65,45,40]
from matplotlib import pyplot as plt
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
price = [60,80,40,30,70,90,95]
sales = [100,50,120,135,65,45,40]
plt.scatter(price,sales)
plt.xlabel("价格")
plt.ylabel("需求量")
price_l=[i for i in range(30,100,5)]
price_t=["{}元".format(i) for i in range(30,100,5)]
plt.xticks(price_l,price_t)
plt.grid()
plt.show()
3.2 条形图
条形图是用宽度相同的条形的高度或长短来表示数据多少的图形。条形图可以横置或纵置,纵置时也称为柱形图。
特点
- 能够使人们一眼看出各个数据的大小。
- 易于比较数据之间的差别。
条形图绘制 条形图通过bar()函数绘制
- plt.bar(x, height) # 绘制以x为x轴位置,height为y轴位置的竖条形图
水平条形图绘制 水平条形图通过barh()函数绘制
- plt.barh(y, width) # 绘制以y为y轴位置,width为y轴位置的水平条形图
练习1 假设你获取到了2019年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据
a = [“流浪地球”,“复仇者联盟4:终局之战”,“哪吒之魔童降世