python - 如何动态更新 matplotlib 表格单元格文本

标签 python python-2.7 matplotlib

我的代码读取两个数字文件并在窗口上部的绘图窗口中动态绘制它们。 我还在情节下方放了一张 table 。 我想在绘制时获取最新值,并使用这些数字更新表中的单元格。 第一次调用“set_text”时,表格会在屏幕上更新,但屏幕上显示的内容不会不断变化,即使表格正在更新。 我需要添加什么才能让表在更新时显示值。

<snip>
def update_line(num, sdata, line1, d2data, line2, my_table):
    for i in range(0, num):
        line1.set_data(sdata[0, :num], sdata[1,:num])
        line2.set_data(d2data[0, :num], d2data[1,:num])
    tm.sleep(0.1)
    tmp = sdata[1, num]
    my_table._cells[(1, 1)]._text.set_text(tmp)
    return line1,line2, my_table,

line_ani = animation.FuncAnimation(fig, update_line, 149, fargs=(d2data, f, d1data,l, the_table), interval=1, blit=True, repeat=False)

plt.show()

This shows the resulting figure. Note that the red/blue lines animate and draw over several seconds

最佳答案

原则上 my_table._cells[(1, 1)]._text.set_text(tmp) 行应该更新表格单元格数据。它在这里不起作用的原因是使用了 blitting。在调用 FuncAnimation 时关闭 blitting 可能会有所帮助:blit=False。如果这不能解决问题,则需要在循环内使用 fig.canvas.draw() 手动制作动画。

请注意,最好不要使用“私有(private)”属性。因此我会推荐

my_table.get_celld()[(1, 1)].get_text().set_text(tmp)

关于python - 如何动态更新 matplotlib 表格单元格文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23437524/

相关文章:

python-2.7 - 在python中使用matplotlib的3D曲面图

python - 登录时从 url 检索数据

python - 无法使用 cgi.FieldStorage 获取 POST 值

javascript - 在 Flask 中嵌入 Bokeh 图

python - 如何使用 Pandas 散点图系列

python - 修复 Python 脚本的进程 ID

python - 乙状结肠运行时警告 : overflow encountered in exp

python - 函数列表 Python

python - 使用seaborn绘制热图时出现类型错误

python - 极坐标图 thetagrid 标签