将附加数据放在现有图形上
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 的方法。如果您想了解这些类型的内容,请查看他们的文档:
我正在通过不同的方法解决优化问题(学习)。
想法写在下面:
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 的方法。如果您想了解这些类型的内容,请查看他们的文档: