python(熊猫?)现场情节

时间:2016-11-30 13:04:47

标签: python pandas plot live

我一直试图从熊猫数据框中获取更新的图,但没有成功。我的问题:没有出现情节窗口(它没有隐藏 - 我很确定)。

我已经尝试从stackoverflow重建和更改不同的解决方案。我最近的尝试基于this post。纯文本,粘贴确实有效,所以问题需要在我的修改中。

我将其更改为此,因为我想每秒自动更新它。

import serial as s
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from time import sleep

data = pd.DataFrame(np.random.random((10,10))) # I want to use pandas because 
# of easier timestamp handling   

fig, ax = plt.subplots()
ax.set(title='title')
im = ax.imshow(data)

while True:
    im.set_data(np.random.random((10,10)))
    print "hello" #just to see if sth happens
    fig.canvas.draw()
    sleep(1)

plt.show()

只是为了解释:后来我想从串口读取数据并将它们提供给绘图以使我的数据可视化。

那么,你期望的是:提供的代码每秒打印你好,但没有给我看任何情节。有任何想法吗?我不在他们身边。

顺便说一句:我很惊讶,没有"轻松,直接的"找到这种问题的解决方案。我可以想象,有些人正在尝试更新情节?!

1 个答案:

答案 0 :(得分:1)

you can use the package drawnow

from pylab import * # import matplotlib before drawnow
from drawnow import drawnow, figure
from time import sleep
import numpy as np

def draw_fig_real():
    imshow(data, interpolation='nearest')

data = np.random.random((10,10))

figure()
for i in range(10):
    data = np.random.random((10,10))
    sleep(0.5)
    drawnow(draw_fig_real)

Hope this helps