我正在使用嵌入在 WxPython GUI 中的 matplotlib 图来呈现一些数据。图的内容(显示的数据)随着单击按钮的功能不断变化,...
数据分为两种。
1)等高线
self.axes.contour(x_scale_map,y_scale_map,matrix,cl,cmap=my_cmap,extent=0,matrix.shape[1]-1,0,matrix.shape[0]-1))
这加载速度相对较慢(~1s),但不会经常更改。
2)在这个轮廓的顶部,我绘制了一些线条
self.axes.axhline(y,color='black')
这些线条显然是立即绘制的,并且经常随着用户点击的功能而变化。在这些情况下,之前绘制的线条需要消失,而新的线条需要出现,而等高线图保持不变。
现在,我的问题如下。我还没有找到只删除线条而不是轮廓的方法。获得所需结果的唯一方法似乎是:
self.axes.clear()
然后重新绘制轮廓和新线。但如前所述,每次重新加载轮廓都很慢,因此很烦人。
有没有办法只清除图中的线条?我试图通过执行以下操作来使用叠加子图:
self.axes1 = self.fig.add_subplot(111)
self.axes2 = self.fig.add_subplot(111)
self.axes1.contour(...)
self.axes2.axhline(y,color='black')
self.axes2.clear()
但最后一行清除了整个数字。
有谁知道如何实现所需的功能?谢谢