python – 实时DataFrame图
发布时间:2020-12-20 13:50:14 所属栏目:Python 来源:网络整理
导读:我有一个pandas DataFrame,它在while循环中更新,我想实时绘制这个,但不幸的是我没有得到如何做到这一点. 一个samplae代码可能是: import numpy as npfrom matplotlib import pyplot as pltfrom matplotlib import animationimport time as tmfrom datetime
我有一个pandas DataFrame,它在while循环中更新,我想实时绘制这个,但不幸的是我没有得到如何做到这一点.
一个samplae代码可能是: import numpy as np from matplotlib import pyplot as plt from matplotlib import animation import time as tm from datetime import datetime,date,time import pandas as pd columns = ["A1","A2","A3","A4","A5","B1","B2","B3","B4","B5","prex"] df = pd.DataFrame() """plt.ion()""" plt.figure() while not True: now = datetime.now() adata = 5 * np.random.randn(1,10) + 25. prex = 1e-10* np.random.randn(1,1) + 1e-10 outcomes = np.append(adata,prex) ind = [now] idf = pd.DataFrame(np.array([outcomes]),index = ind,columns = columns) df = df.append(idf) ax = df.plot(secondary_y=['prex']) plt.show() time.sleep(0.5) 但如果我取消注释“”“plt.ion()”“”我会打开许多??不同的窗口.否则我必须关闭窗口才能获得更新的图. 解决方法
您可以指定要使用的
plot轴,而不是每次调用时创建不同的轴.要在交互模式下重绘绘图,可以使用
draw而不是show.
from matplotlib import animation import time as tm from datetime import datetime,"prex"] df = pd.DataFrame() plt.ion() fig = plt.figure() ax = fig.add_subplot(111) # Create an axes. while True: now = datetime.now() adata = 5 * np.random.randn(1,columns = columns) df = df.append(idf) df.plot(secondary_y=['prex'],ax = ax) # Pass the axes to plot. plt.draw() # Draw instead of show to update the plot in ion mode. tm.sleep(0.5) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |