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

问题描述 投票:0回答:1

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

python matplotlib
1个回答
2
投票

基于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}图(数据点)。忽略上面的两个解决方案并将其删除。

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

© www.soinside.com 2019 - 2024. All rights reserved.