本文整理汇总了Python中matplotlib.backends.backend_qt5agg.NavigationToolbar2QT.close方法的典型用法代码示例。如果您正苦于以下问题:Python NavigationToolbar2QT.close方法的具体用法?Python NavigationToolbar2QT.close怎么用?Python NavigationToolbar2QT.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类matplotlib.backends.backend_qt5agg.NavigationToolbar2QT
的用法示例。
在下文中一共展示了NavigationToolbar2QT.close方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Main
# 需要导入模块: from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT [as 别名]
# 或者: from matplotlib.backends.backend_qt5agg.NavigationToolbar2QT import close [as 别名]
class Main(QMainWindow, Ui_MainWindow):
def __init__(self,specfilename,parfilename=None,wave1=None,wave2=None,numchunks=8,parent=None):
QtWidgets.QMainWindow.__init__(self, parent)
#super(Main,self).__init__()
self.setupUi(self)
### Initialize stuff
self.line_dict = {}
self.fitpars = None
self.parinfo = None
self.linecmts = None
self.wave1 = wave1
self.wave2 = wave2
self.numchunks = numchunks
self.spls = []
self.labeltog = 1
self.pixtog = 0
self.restog = 1
self.fitconvtog = 0
self.lastclick=1334.
### Read in spectrum and list of lines to fit
self.specfilename=specfilename
self.spectrum = readspec(specfilename)
self.wave=self.spectrum.wavelength.value
self.normflux=self.spectrum.flux/self.spectrum.co
self.normsig=self.spectrum.sig/self.spectrum.co
cfg.spectrum = self.spectrum
cfg.wave=self.wave
cfg.normflux=self.normflux
cfg.filename=self.specfilename
if not parfilename==None:
self.initialpars(parfilename)
### Connect signals to slots
self.fitButton.clicked.connect(self.fitlines)
self.fitConvBox.clicked.connect(self.togfitconv)
self.boxLineLabel.clicked.connect(self.toglabels)
self.boxFitpix.clicked.connect(self.togfitpix)
self.boxResiduals.clicked.connect(self.togresiduals)
self.loadParsButton.clicked.connect(self.openParFileDialog)
self.addLineButton.clicked.connect(self.addLineDialog)
self.writeParsButton.clicked.connect(self.writeParFileDialog)
self.writeModelButton.clicked.connect(self.writeModelFileDialog)
self.writeModelCompButton.clicked.connect(self.writeModelCompFileDialog)
self.quitButton.clicked.connect(self.quitGui)
### Initialize spectral plots
fig=Figure()
self.fig=fig
self.initplot(fig)
### Initialize side plot
sidefig=Figure(figsize=(5.25,2))
self.sidefig = sidefig
self.addsidempl(self.sidefig)
self.sideplot(self.lastclick) #Dummy initial cenwave setting
def initplot(self,fig,numchunks=8):
wlen=len(self.spectrum.wavelength)/numchunks
self.spls=[]
if self.wave1==None: waveidx1=0 # Default to plotting entire spectrum for now
else: waveidx1=jbg.closest(self.wave,self.wave1)
if self.fitpars!=None:
model=joebvpfit.voigtfunc(self.wave,self.datamodel.fitpars)
sg=jbg.subplotgrid(numchunks)
for i in range(numchunks):
self.spls.append(fig.add_subplot(sg[i][0],sg[i][1],sg[i][2]))
pixs=range(waveidx1+i*wlen,waveidx1+(i+1)*wlen)
self.spls[i].plot(self.wave[pixs],self.normflux[pixs],linestyle='steps-mid')
if self.fitpars!=None:
self.spls[i].plot(self.wave,model,'r')
self.spls[i].set_xlim(self.wave[pixs[0]],self.wave[pixs[-1]])
self.spls[i].set_ylim(cfg.ylim)
self.spls[i].set_xlabel('wavelength',labelpad=0)
self.spls[i].set_ylabel('relative flux',labelpad=-5)
self.spls[i].get_xaxis().get_major_formatter().set_scientific(False)
fig.subplots_adjust(top=0.98,bottom=0.05,left=0.08,right=0.97,wspace=0.15,hspace=0.25)
self.addmpl(fig)
def initialpars(self,parfilename):
### Deal with initial parameters from line input file
self.fitpars,self.fiterrors,self.parinfo,self.linecmts = joebvpfit.readpars(parfilename)
cfg.fitidx=joebvpfit.fitpix(self.wave, self.fitpars) #Set pixels for fit
cfg.wavegroups=[]
self.datamodel = LineParTableModel(self.fitpars,self.fiterrors,self.parinfo,linecmts=self.linecmts)
self.tableView.setModel(self.datamodel)
self.datamodel.updatedata(self.fitpars,self.fitpars,self.parinfo,self.linecmts)
def sideplot(self,cenwave,wavebuf=3):
if len(self.sidefig.axes)==0:
self.sideax=self.sidefig.add_subplot(111)
self.sideax.clear()
self.sideax.plot(self.wave, self.normflux, linestyle='steps-mid')
if self.pixtog == 1:
self.sideax.plot(self.wave[cfg.fitidx], self.normflux[cfg.fitidx], 'gs', markersize=4, mec='green')
model = joebvpfit.voigtfunc(self.wave, self.fitpars)
#.........这里部分代码省略.........
示例2: Main
# 需要导入模块: from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT [as 别名]
# 或者: from matplotlib.backends.backend_qt5agg.NavigationToolbar2QT import close [as 别名]
#.........这里部分代码省略.........
self.im.set_ydata(self.X.data[self.Scroll_Horz.value(), :, self.Scroll_Vert.value()][::])
if self.auto_flag:
self.ax1.relim()
self.ax1.autoscale_view(True, True, True)
elif self.BoreView == 'Z':
self.im.set_ydata(self.X.data[self.Scroll_Vert.value(), self.Scroll_Horz.value(), :][::])
if self.auto_flag:
self.ax1.relim()
self.ax1.autoscale_view(True, True, True)
elif self.AverageBore.isChecked():
self.Scroll_Horz.setValue(self.ind)
self.Scroll_Vert.setValue(self.ind)
# try and redraw
try:
self.im.axes.figure.canvas.draw()
if self.auto_flag:
self.im.autoscale()
except AttributeError:
pass
def addmpl(self):
# add plot to anvas
self.rmmpl()
self.canvas = FigureCanvas(self.fig)
self.mplvl.addWidget(self.canvas)
self.canvas.draw()
self.toolbar = NavigationToolbar(self.canvas, self.mplwindow)
self.mplvl.addWidget(self.toolbar)
def rmmpl(self):
# delete plot from canvas
try:
self.canvas.close()
self.canvas.deleteLater()
self.toolbar.close()
self.toolbar.deleteLater()
gc.collect()
except:
pass
def saveBore(self,):
# save bore as a list of points
name = QtWidgets.QFileDialog.getSaveFileName(self, 'Save File')
f = open(name, 'w')
if len(self.ave) > 1:
for i in range(len(self.ave)):
f.write(str(self.ave[i]) + '\n')
f.close()
else:
if self.BoreView == "X":
tmp = self.X[:, self.Scroll_Horz.value(), self.Scroll_Vert.value()]
elif self.BoreView == "Y":
tmp = self.X[self.Scroll_Horz.value(), :, self.Scroll_Vert.value()]
elif self.BoreView == "Z":
tmp = self.X[self.Scroll_Horz.value(), self.Scroll_Vert.value(), :]
for i in range(len(tmp)):
f.write(str(tmp[i]) + '\n')
def file_open(self, args):
self.reset_plot()
while True:
try: