熊猫在同一个窗口中继续绘图



有没有办法在熊猫中已经打开的窗口中绘制。假设我有一个包含 10,000 个项目且只有一列的数据帧。

我想做的是在那个打开的绘图窗口中一次只绘制 100 个点,就像流式绘图一样。

因此,结果将是一个打开的窗口,显示前 100 个点的线图,然后是接下来的 100 个点,即 101 到 200 点,依此类推。

我尝试查看 SO,但只能找到以下示例:实时 matplotlib 绘图在循环中时不起作用我不能让它很好地使用 df.plot() 方法....

将您的

绘图放在一个循环中,并在每个循环结束时调用clf()。这将清除 matplotlib 数字。

您可能希望将其视为动画:

http://nbviewer.ipython.org/url/jakevdp.github.io/downloads/notebooks/AnimationEmbedding.ipynb

所以我想通了!另外,感谢您@JD龙的帮助。下面是一个有效的示例。我没有使用相同的数据帧值,而是动态创建新列,然后绘制:

import time
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
pd.options.display.mpl_style = 'default'

df = pd.DataFrame({'a':[3,4,45,6,70,6],'b':[4,4,2,4,2,2]})
plt.axis([0, 50, 0, 100])
plt.ion()
plt.show()
for i in range(1,6):
    df.c = df.a + i
    df.b = df.b - i
    df.c.plot(title = str(i)+'th Iteration')
    df.b.plot(kind='bar', title = str(i)+'th Iteration')
    plt.draw()
    time.sleep(1)
    plt.pause(0.0001)
    plt.clf()
plt.close()

最新更新