2

我基本上在三个单独的 numpy 数组中有三个数据点,我想沿 x 轴绘制时间,沿 y 轴绘制频率,幅度应该代表颜色。但这一切都是实时发生的,所以它应该看起来像频谱图在数据更新时自己绘制。

我已经简化了代码以显示我正在运行一个最多需要 10 毫秒才能运行的循环,并且在此期间我从函数中获取新数据。

import numpy as np
import random
from time import sleep

def new_val_freq():
   return random.randint(0,22)

def new_val_mag():
   return random.randint(100,220)

x_axis_time = np.array([1])
y_axis_frequency = np.array([10])
z_axis_magnitude = np.array([100])

t = 1
while True:
   x_axis_time = np.append (x_axis_time , [t+1])
   t+=1

   y_axis_frequency = np.append (y_axis_frequency , [new_val_freq()])
   z_axis_magnitude = np.append (z_axis_magnitude, [new_val_mag()])
   
   time.sleep(0.01)
   #Trying to figure out how Create/Update spectrogram plot with above additional 
   #data in real time without lag

理想情况下,我希望它尽可能快,而不必重新绘制整个频谱图。似乎 matplolib 不适合绘制动态频谱图,而且我还没有遇到任何动态频谱图示例,所以我想知道如何做到这一点?

4

0 回答 0