📜  使用 Matplotlib、Numpy 和 Scipy 绘制方波

📅  最后修改于: 2022-05-13 01:54:50.686000             🧑  作者: Mango

使用 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函数:此方法接受以下参数并绘制方波信号。

蟒蛇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()

输出: