En un determinado metodo estoy generando una figura asi:
Código Python:
Ver original
import 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 original
thePlot = 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.