将附加数据放在现有图形上

Put additional data on existing figure

我正在通过不同的方法解决优化问题(学习)。

想法写在下面:

instance = class_with_diff_methods()

instance.create_some_func()
instance.optimization_method_one()
instance.create_data_for_plot()
instance.display()

instance.optimization_method_two()
instance.create_data_for_plot()
instance.display()

所以我想在不保存的情况下迭代添加新数据,我这样实现了我的想法: `

import matplotlib.pyplot as plt

 def display(self):

    if not self.__plot_exists:

        self.figure = plt.figure()
        plt.scatter( self.data[0], self.data[1])
        plt.plot( self.data[0], self.appdata) 
        self.figure.show()
        self.__plot_exists = True

    else:
        plt.plot( self.data[0], self.appdata)
        plt.show( block=False)`

这行得通,但问题是我真的不明白,为什么我什至需要(有必要)在代码的第一部分使用“self.figure”以及为什么我应该使用“plt.show()" 而不是最后一行的 "self.figure.show"。

如果有链接,我将不胜感激,这将帮助我清楚地了解这是如何工作的。

plt.show() 方法是 matplotlib 的原生方法,它是启动 GUI 的方法。如果您想了解这些类型的内容,请查看他们的文档:

https://matplotlib.org/contents.html