数据分析-matplotlib
能将数据进行可视化,更直观的呈现,使数据更加客观、更具说服力
matplotlib简介
matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建
每个红色的点是坐标,把5个点的坐标连接成一条线,组成了一个折线图
那么到底如何把它通过代码画出来呢?
matplotlib基本要点(引例介绍)
通过下面的小例子我们来看一下matplotlib该如何简单的使用
假设一天中每隔两个小时(range(2,26,2))的气温(℃)分别是[15,13,14.5,17,20,25,26,26,27,22,18,15]
from matplotlib import pyplot as plt
# 设置图形大小
fig = plt.figure(figsize=(9, 6), dpi=80) # 图像宽9 高6,在图像模糊的时候可以传入dpi参数,让图片更加清晰
x = range(2, 26, 2)
# 数据在x轴的位置,是一个可迭代对象
y = [15, 13, 14.5, 17, 20, 25, 26, 26, 24, 22, 18, 15]
# 数据在y轴的位置,是一个可迭代对象
# x轴和y轴的数据一起组成了所有要绘制出的坐标
# 分别是(2,15),(4,13)......
plt.plot(x, y) # 传入x和y,通过plot绘制出折线图
plt.savefig("C:/Users/lenovo/Desktop/sig_size.jpg") # 保存图片 可以保存为svg这种矢量图格式,放大不会有锯齿
plt.show() # 在执行程序的时候显示图形
目前已经解决的问题:
1.设置图片大小(想要高清大图)
2.保存到本地
目前未解决的问题:
1.描述信息,比如x轴和y轴表示什么,这个图表示什么
2.调整x或者y的刻度的间距
3.线条的样式(比如颜色,透明度等)
from matplotlib import pyplot as plt
# 设置图形大小
fig = plt.figure(figsize=(9, 6), dpi=80) # 图像宽9 高6,在图像模糊的时候可以传入dpi参数,让图片更加清晰
x = range(2, 26, 2)
# 数据在x轴的位置,是一个可迭代对象
y_1 = [15, 23, 14.5, 17, 20, 25, 22, 26, 24, 22, 18, 15]
y_2 = [20, 14, 18, 24, 18, 15, 19, 24, 21, 26, 14, 19]
# 数据在y轴的位置,是一个可迭代对象
# x轴和y轴的数据一起组成了所有要绘制出的坐标
# 分别是(2,15),(4,13)......
plt.plot(x, y_1, label="one1", color="red") # 传入x和y,通过plot绘制出折线图
plt.plot(x, y_2, label="two2", color="blue") # 传入x和y,通过plot绘制出折线图
plt.xticks(range(0, 26, 1)) # 设置x的刻度
plt.yticks(range(12, 28, 2)) # 设置y的刻度
plt.xlabel("time") # 设置x轴的label
plt.ylabel("temperature") # 设置y轴的label
plt.title("information") # 设置title
# 绘制网格
plt.grid()
# 添加图例
plt.legend() # 图例介绍对应plot的label
plt.savefig("C:/Users/lenovo/Desktop/sig_size.jpg") # 保存图片
# 也可以保存为svg这种矢量图格式,放大不会有锯齿
plt.show() # 在执行程序的时候显示图形
小结
上文中做了哪些事情?
1.绘制了折线图(plt.plot)
2.设置了图片的大小和分辨率(plt.figure)
3.实现了图片的保存(plt.savefig)
4.设置了xy轴上的刻度(xticks)
5.解决了刻度稀疏和密集的问题(xticks)
6.设置了标题,xy轴的lable(title,xlable,ylable)
7.在一个图上绘制多个图形(plt多次plot即可)
8.为不同的图形添加图例
有空会补上绘制散点图,条形图,直方图方法