Matplotlib是一种免费、开源且跨平台的数据可视化工具
还是挺有趣的一个python工具
先导入这个库
1 | import numpy as np |
绘图的两种风格
Matlab风格
- 源码
1
2
3
4
5
6
7x = np.linspace(0,2*np.pi,100) # x轴取0-2π的100个点
y1 = np.sin(x) # y轴取x轴的sin值
y2 = np.cos(x) # 另一条线的y轴取x的cos值
# 做图,参数1为x轴,参数2为y轴
plt.plot(x,y1)
plt.plot(x,y2)
plt.show() # 显示数据表 - 效果
面向对象风格
- 源码
1
2
3
4
5
6
7
8
9# 建立"画板"
fig = plt.figure()
# 建立"坐标系" 参数为[左,下,右,上]相对于figure画板的位置
ax = fig.add_axes([0.1,0.1,0.8,0.8])
# 建立x轴 从0-2π取100个数据
x = np.linspace(0,2*np.pi,100)
# 将数据放入坐标系中,并求其sin值
ax.plot(x,np.sin(x))
plt.show() - 效果
设置坐标系
grid()添加网格
Matlab风格
1
2
3
4
5
6x = np.arange(0,10,0.02)
y = np.cos(2*x)
plt.plot(x,y)
# 设置蓝色的网格线
plt.grid(color='blue')
plt.show()效果
面向对象风格
1
2
3
4
5
6
7
8fig = plt.figure()
ax = fig.add_axes([0.1,0.1,0.8,0.8])
x = np.arange(0,10,0.02)
y = np.cos(2*x)
ax.plot(x,y)
# 设置红色的网格线
ax.grid(color='red')
plt.show()效果
设置坐标轴
- 源码
1
2
3
4
5
6
7
8
9
10
11
12
13
14fig = plt.figure()
ax = fig.add_axes([0.1,0.1,0.8,0.8])
x = np.arange(0,10,0.02)
y = np.cos(2*x)
ax.plot(x,y)
# 设置x轴与y轴的标签
ax.set_xlabel("xxxxxx")
ax.set_ylabel("yyyyyy")
# 设置x轴区间
import matplotlib
matplotlib.rcParams['axes.unicode_minus'] = False # 解决不显示负数的问题
ax.set_xlim((-2,10)) # 设置区间
plt.show() - 效果