Hola, como hago para, desde un metodo, devolver una figura sin que se muestre en forma de pop-up, me explico:
En un determinado metodo estoy generando una figura asi:
Código Python:
Ver originalimport numpy as np
import matplotlib.pyplot as plt
def drawPlot(x,y, y_O):
n_groups = len(x)
fig, ax = plt.subplots()
index = np.arange(n_groups)
bar_width = 0.35
opacity = 0.4
error_config = {'ecolor': '0.3'}
rects1 = plt.bar(x, y, bar_width, alpha=opacity, color='b',label='label1')
for i in range(len(x)):
x[i] = x[i] + bar_width
rects2 = plt.bar(x , y_O, bar_width, alpha=opacity, color='r',label='label2')
plt.xlabel('Reading')
plt.ylabel('Value (%)')
plt.xticks(index + bar_width , (x))
plt.legend()
plt.tight_layout()
return fig
El problema que tengo es que, cuando desde el codigo de la mainWindow hago esto:
Código Python:
Ver originalthePlot = tm.drawPlot(x,y,y_O, y_L)
MyCanvas = FigureCanvas(thePlot)
navi_toolbar = NavigationToolbar(MyCanvas, self)
self.ui.verticalLayoutGraph2_1.addWidget(navi_toolbar)
self.ui.verticalLayoutGraph2_1.addWidget(MyCanvas)
Todo funciona bien, la grafica se muestra dentro de la mainWindow, pero ademas me sale una ventana pop-up con la misma grafica.
Me gustaria saber como evitar que salga esa ventana con la grafica, ya que yo solo la quiero en la mainWindow.
Como se puede ver, en el metodo no hay niguna llamada del tipo .show() o .draw() por lo que no entiendo por que sale esa ventana pop-up con la figura.