python波形图怎么像MATLAB一样叠在一起对比分析

研究了一下,python出图要用到matlab一样的绘制图形库matplotlib

华丽的分割线------------------------------------------------------------------------------------

matla叠加两张图很简单,比如在命令行输入:
plot(tu1); #tu1,tu2为你跑出来的数据,这里注意x轴步长一致
hold on
plot(tu2);
这样就

华丽的分割线------------------------------------------------------------------------------------

python对比波形图有两种方法:
直接上代码:
方法1:使用pylot库中的subplots函数

1
2
3
4
5
6
7
8
9
from matplotlib import pyplot as plt  #引入MATLAB一样的绘图工具库

fig, tu = plt.subplots()  #subplots 绘图函数
tu.plot([1, 2, 3, 4, 5], [10, 16, 24, 32,50], label='tu1') #绘制图1([1,2,3,4]为横坐标参数,[10,20,25,30]为纵坐标参数,注意横坐标和纵坐标数目一致
tu.plot([1, 2, 3, 4, 5], [30, 50, 15, 5,20], label='tu2') #绘制图2
tu.scatter([1, 2, 3, 4, 5], [20, 10, 30, 15,10], label='tu3') #绘制散点图图3
tu.set(ylabel='y', xlabel='Time /s', title='lyb-duibi') #设置x\y\标题名称
tu.legend() #设置图例
plt.show() #出图

在这里插入图片描述
可以看到三个波形叠在一起,便于分析

方法2:
直接使用plot函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from matplotlib import pyplot as plt  #引入MATLAB一样的绘图工具库
import numpy as np  #引入矩阵数组库,这里用到np函数

x = np.linspace(0,4)  #设置x坐标步长
y1 = np.sin(np.pi*x+1)   #随便设置一个sin函数为y1
y2 = np.sin(np.pi*x*2+1) #随便设置一个sin函数为y2

plt.plot(x,y1,'-b',label ='tu1' ) #绘制图1,且设置图1名字为tu1
plt.plot(x,y2,'-r',label ='tu2' )  #绘制图2,且设置图2名字为tu2

plt.ylabel('yzuobiao')  #设置y轴坐标名称
plt.xlabel('time/s')   #设置2轴坐标名称
plt.title('lyb-duibi')  #设置图标题

plt.legend   #设置图例
plt.show()   #出图

在这里插入图片描述

效果还行把!

自学python第2周, 我喜欢开源我喜欢交流,有更好的方法可以留言私聊大家一起讨论讨论