Я хотел бы иметь возможность независимо создавать несколько фигур с разными графиками и выбирать, будут ли они отображаться в графическом интерфейсе и или вместо этого сохраняться с использованием функции 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')
Также как мне сохранить конкретный сюжет? Я не возражаю, если мне всегда нужно просто вызывать функцию сохранения графика графика перед созданием того же графика.