mpld3 是一个用于将 Matplotlib 图形转换为交互式 D3.js 可视化的库。然而,mpld3 不支持实时绘图,因为它是在静态图形上创建交互式可视化。
如果你想要实现实时绘图,你可以考虑使用其他库,如 Matplotlib 的 FuncAnimation
或者 Plotly。这些库提供了实时绘图的功能。
以下是一个使用 Matplotlib 的 FuncAnimation
实现实时绘图的示例:
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import numpy as np
# 创建一个空的图形
fig, ax = plt.subplots()
# 初始化数据
x_data = []
y_data = []
# 创建一个空的线条
line, = ax.plot([], [], 'b-')
# 更新函数,用于更新图形
def update(frame):
# 生成新的数据点
x = frame
y = np.sin(frame)
# 更新数据
x_data.append(x)
y_data.append(y)
# 更新线条的数据
line.set_data(x_data, y_data)
# 设置坐标轴范围
ax.set_xlim(min(x_data), max(x_data))
ax.set_ylim(min(y_data), max(y_data))
return line,
# 创建动画
ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 100),
blit=True)
# 显示图形
plt.show()
在上述示例中,我们使用 FuncAnimation
创建了一个动画,它会在每个帧上调用 update
函数来更新图形。在 update
函数中,我们生成新的数据点,并更新线条的数据。然后,我们设置坐标轴的范围,以适应新的数据点。最后,我们返回线条对象,以便 FuncAnimation
更新图形。
你可以根据需要修改更新函数的逻辑和动画的参数,以实现你想要的实时绘图效果。
领取专属 10元无门槛券
手把手带您无忧上云