Matplotlib是一种免费、开源且跨平台的数据可视化工具
还是挺有趣的一个python工具
先导入这个库
import numpy as np
import matplotlib.pyplot as plt
绘图的两种风格
Matlab风格
- 源码
x = 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() # 显示数据表
- 效果
面向对象风格
- 源码
# 建立"画板" 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风格
x = np.arange(0,10,0.02) y = np.cos(2*x) plt.plot(x,y) # 设置蓝色的网格线 plt.grid(color='blue') plt.show()
-
效果
-
面向对象风格
fig = 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()
-
效果
设置坐标轴
- 源码
fig = 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()
- 效果