matplotlib绘制变量写入文件的进度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matplotlib绘制变量写入文件的进度相关的知识,希望对你有一定的参考价值。

我需要找到一种方法来运行一个python脚本来绘制文件中包含的值,但是该图应该持续检查并更新图,因为该文件是从另一个程序动态更新的...有一个解决方案吗?

答案

基于Mathieu建议的内容,我还建议使用一个运行循环,但是,while True循环对您的系统来说代价很高。我会建议一个例程在更新之后运行,就在文件更新之后。

您可以使用time.sleep()(导入时间来使用它)直到您的更新发生,从而节省冗余计数器等。

它应该看起来像这样:

plt.figure()  # Opens a figure you can plot in. Redundant, but more understandable
while True:  # I suggest replacing with a halting condition/input
    #update your data object, denoted obj, from your files. 
    hold(true)
    plot('xlabel', 'ylabel', data=obj)
    time.sleep(10) # Assumes Time is imported, this will wait for 10 seconds before looping.

话虽这么说,如果你计划重新绘制一个线图,经过几次迭代后,事情将在一个图表中变得不清楚。在这种情况下,我会建议两种解决方案,但我确信还有更多:

1)对于每个恒定的迭代量,分为图/子图。我想说一个图中超过5个图已经难以遵循,因此保持在5或更小。

2)绘制每次迭代之间的差异。这更清洁,您可以跟踪两种类型的差异。累计和每次迭代。我认为这非常有用。

如果您要更新的内容不是折线图,而是{x,y}图(数据点)。忽略上面的两个解决方案并将其删除。

这完全取决于您计划制作的图表类型以及您希望从图表中提取的数据。

以上是关于matplotlib绘制变量写入文件的进度的主要内容,如果未能解决你的问题,请参考以下文章

在 matplotlib 图中绘制平滑曲线

如何重新加载圆形进度条

Matplotlib - 在错误的子图中绘制的变量[重复]

Matplotlib - 在错误的子图中绘制的变量[重复]

OpenGL 片段着色器未写入 fbo 颜色缓冲区

需要帮助使用matplotlib在tkinter中绘制图形[重复]