Я бы хотел иметь возможность независимо создавать несколько фигур с разными графиками и выбирать, будут ли они отображаться в графическом интерфейсе и вместо этого сохраняться с помощью функции plt.savefig()
.(Большую часть времени я думаю, что я хочу, чтобы все они отображались И сохранялись, или ни один не отображался, только сохраненные)
Я пытаюсь создать функцию с именем plotData(channel, refFile)
, которая передается через пару параметров и создаетфигура matplotlib и выводит на нее некоторые данные.Я не хочу, чтобы фигура отображалась до тех пор, пока я не вызову другую функцию showPlot(channel)
, которая будет отображать соответствующую цифру при вызове.
К сожалению, когда я использую функцию plt.figure (), она автоматически отображает фигуру.Я видел ответы на похожие вопросы, где люди пробовали что-то вроде plt.figure(visible=False)
или plt.figure('visibility', 'off')
, но ни один из них не помог мне.
def plotData(self, chan, refFile):
#create figure without showing the gui window
self.figure[chan-1]=plt.figure()
#plot data to graph
sigPlot, =plt.plot(self.time[chan-1],self.yAxis[chan-1], label='Measured Signal')
refPlot,= plt.plot(self.time[chan-1],self.refSig[chan-1], label='Reference Signal')
plt.legend(handles=[sigPlot, refPlot])
def showPlot(self,chan):
self.figure[chan-1].show()
def savePlot(self, filename):
plt.savefig(filename, bbox_inches='tight')
Кроме того, как мне сохранить определенный сюжет?Я не возражаю, если мне всегда нужно просто вызывать функцию сохранения графика перед созданием того же графика.