Python matplotlib循环未显示任何内容

btqmn9zl  于 2023-01-21  发布在  Python
关注(0)|答案(1)|浏览(142)

我尝试用while循环做一个周期性更新的图表,代码如下:

import matplotlib.pyplot as plt
import numpy as np
import time

fig = plt.figure()

while True:
    data_to_plot = pd.DataFrame(predictions)
    data_to_plot.columns = ['A','B','C']
    data_to_plot.plot()
    plt.pause(10)
    fig.canvas.draw()
    fig.canvas.flush_events()

它所做的只是显示一系列空帧。

63lcw9qa

63lcw9qa1#

下面是您的代码的修改版本,应该工作:

import matplotlib.pyplot as plt
import pandas as pd

fig = plt.figure()
ax = fig.add_subplot(111)

while True:
    data_to_plot = pd.DataFrame(predictions)
    data_to_plot.columns = ['A','B','C']
    ax.clear()
    ax.plot(data_to_plot)
    plt.pause(10)
    fig.canvas.draw()

在这个版本中,while循环在每次迭代中使用新数据创建一个新的绘图,在绘制新绘图之前使用**clear()方法清除先前的绘图,并使用fig.canvas.draw()**方法更新绘图。
为了使用DataFrame,将Pandas导入为pd是非常必要的,这样可以确保绘图总是最新的,并且在视觉上很吸引人。

相关问题