使用 Matplotlib、Numpy 和 Scipy 绘制方波
先决条件:线空间、Mathplotlib、Scipy
方波是一种非正弦周期波形,其中幅度在固定的最小值和最大值之间以稳定频率交替,最小值和最大值的持续时间相同。图形表示总是易于理解,并且在任何书面或口头交流之前被采用和优选。在本文中,我们将尝试了解如何使用 Scipy Python模块绘制方波。
方法:
- 导入所需的模块。
- 创建采样率。
- 绘制方波。
- 标记图形。
- 显示图表。
第 1 步:导入模块
Python3
from scipy import signal
import matplotlib.pyplot as plot
import numpy as np
Python3
t = np.linspace(0, 1, 1000, endpoint = True)
Python3
# Plot the square wave
plot.plot(t, signal.square(2 * np.pi * 5 * t))
Python3
# Give x,y, title axis label
plot.xlabel('Time')
plot.ylabel('Amplitude')
plot.title('Square wave - Geeksforgeeks')
Python3
# Provide x axis and black line color
plot.axhline(y=0, color='k')
Python3
from scipy import signal
import matplotlib.pyplot as plot
import numpy as np
t = np.linspace(0, 1, 1000, endpoint=True)
# Plot the square wave
plot.plot(t, signal.square(2 * np.pi * 5 * t))
# Give x,y,title axis label
plot.xlabel('Time')
plot.ylabel('Amplitude')
plot.title('Square wave - Geeksforgeeks')
plot.axhline(y = 0, color = 'k')
# Display
plot.show()
第 2 步: NumPy linspace函数是Python中的一个工具,用于创建在指定间隔内返回均匀间隔数字的数字序列。
蟒蛇3
t = np.linspace(0, 1, 1000, endpoint = True)
第 3 步: plot.plot函数:此方法接受以下参数并绘制方波信号。
Syntax:
scipy.signal.square(t)
Parameter:
- t: The input time array.
Return:
Output array containing the square waveform.
蟒蛇3
# Plot the square wave
plot.plot(t, signal.square(2 * np.pi * 5 * t))
第 4 步:给出标题名称、x 轴标签名称、y 轴标签名称。
蟒蛇3
# Give x,y, title axis label
plot.xlabel('Time')
plot.ylabel('Amplitude')
plot.title('Square wave - Geeksforgeeks')
第五步: plot.axhline() :matplotlib 库的pyplot 模块中的axhline()函数用于在轴上添加一条水平线。
蟒蛇3
# Provide x axis and black line color
plot.axhline(y=0, color='k')
下面是完整的实现:
蟒蛇3
from scipy import signal
import matplotlib.pyplot as plot
import numpy as np
t = np.linspace(0, 1, 1000, endpoint=True)
# Plot the square wave
plot.plot(t, signal.square(2 * np.pi * 5 * t))
# Give x,y,title axis label
plot.xlabel('Time')
plot.ylabel('Amplitude')
plot.title('Square wave - Geeksforgeeks')
plot.axhline(y = 0, color = 'k')
# Display
plot.show()
输出: