matplotlib官方文档:https://matplotlib.org/
一、数据分析概念
概念:用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。
二、常用统计图对比
-
折线图
特点:能够显示数据的变化趋势,反映事物的变化情况。(变化) -
直方图
一般用横轴表示数据范围,纵轴表示分布情况。
特点:绘制连续性的数据,展示一组或者多组数据的分布状况(统计) -
条形图
特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计)
散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量
之间是否存在某种关联或总结坐标点的分布模式。
特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)
三、matplotlib绘制折线图
1.绘制了折线图(plt.plot)
2.设置了图片的大小和分辨率(plt.figure)
3.实现了图片的保存(plt.savefig)
4.设置了x,y轴上的刻度和字符串刻度(plt.xticks)
5.解决了刻度稀疏和密集的问题(plt.xticks)
6.设置了标题,x,y轴的lable(plt.title,plt.xlable,plt.ylable)
7.设置了字体(font_manager. fontProperties,matplotlib.rc)
8.在一个图上绘制多个图形(plt.plot多次即可)
9.为不同的图形添加图例(plt.plot()中添加label参数,plt.legend())
# coding=utf-8
from matplotlib import pyplot as plt
# 解决中文label,title乱码问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
y_1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2 = [1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1]
x = range(11,31)
#设置图片大小
plt.figure(figsize=(20,8),dpi=80)
#绘图
plt.plot(x,y_1,label="自己",color="r")
plt.plot(x,y_2,label="同桌",color="b",linestyle="--")
# 设置x轴的刻度
# _xtick_labels = [i/2 for i in range(4,49)]
# plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45)
# # plt.xticks(list(range(25,50))) # 也可传入列表设置刻度
# plt.yticks(range(min(y),max(y)+1))
# 设置x轴字符串刻度并旋转
_xtick_labels = ["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,rotation=45)
# 设置了标题,x,y轴的lable
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.title('绘制图形')
#绘制网格
plt.grid(alpha=1.5,linestyle=':')
#添加图例
plt.legend(loc="upper left")
#保存
plt.savefig("./t1.png")
#展示图形
plt.show()
图片
四、matplotlib绘制散点图
- plt.scatter(x,y)
from matplotlib import pyplot as plt
# 解决中文label,title乱码问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
y_3 = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,