我实现了一个GUI,它显示两个下拉菜单,您可以在其中选择要显示的两组不同的图形。但是,当我使用以下代码创建图形时:
import matplotlib.pyplot as plt
from matplotlib.backends.backedn_qt4agg import FigureCanvasQTAgg as FigureCanvas
self.comparison_figure1 = plt.figure(figsize=(15,5))
self.comparison_canvas1 = FigureCanvas(self.comparison_figure1)
self.comparison_figure2 = plt.figure(figsize=15,5))
self.comparison_canvas2 = FigureCanvas(self.comparison_figure2)
然后我试着更新情节(plt.U布局()例如)
def on_resize(event):
plt.tight_layout()
self.comparison_canvas2.draw()
self.comparison_canvas1.draw() #this would do nothing
cid = self.comparison_canvas2.mpl_connect('resize_event', on_resize)
只更新最后一个用“plt.”调用的绘图。如何编写代码以便可以引用两个绘图。你知道吗
我还尝试创建一个绘图,其中两个图形并排显示,但由于需要独立更新图形,我遇到了更多的问题。如果你能让它变成那样的话,那太好了!我只是想解决前面的问题可能更简单。你知道吗
如果你需要更多的代码,我可以张贴它!你知道吗
你知道吗# #你知道吗
解决方案(感谢ImportanceOfBeingErnest和Ash Sharma):
用具体数字替换任何“plt.”
例如:
plt.tight_layout() #replace with self.comparison_figure1.tight_layout()
这是一些固定的代码:
def on_resize(event):
self.comparison_figure1.tight_layout()
self.comparison_figure2.tight_layout()
self.comparison_canvas1.draw()
self.comparison_canvas2.draw()
cid = self.comparison_canvas2.mpl_connect('resize_event', on_resize)
你知道吗# #你知道吗
问题:
以前的解决方案尚未修复所有绘图更新问题。虽然“plt”可以替换为自我比较\u图1当使用tight_layout()时,使用cla()清除绘图时无法执行相同的操作。你知道吗
使用cla()的代码:
sns.set(style="whitegrid")
plt.cla()
ax = self.comparison_figure2.add_subplot(111)
.....
.....
我可以张贴更多的代码,如果你需要它!你知道吗
解决方案(感谢ImportanceOfBeingErnest和Ash Sharma):
用特定图形替换任何
plt
例如:
这是一些固定的代码:
相关问题 更多 >
编程相关推荐