Changeset 50 for trunk/GSASIIplot.py
- Timestamp:
- Apr 21, 2010 10:55:25 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIplot.py
r49 r50 56 56 return page.figure 57 57 58 def PlotSngl(self ):58 def PlotSngl(self,newPlot=False): 59 59 from matplotlib.patches import Circle 60 60 … … 99 99 plotNum = self.G2plotNB.plotList.index('Structure Factors') 100 100 snglPage = self.G2plotNB.nb.GetPage(plotNum) 101 snglPlot = snglPage.figure.gca() 102 snglPlot.cla() 101 if not newPlot: 102 snglPlot = snglPage.figure.gca() #get previous powder plot & get limits 103 xylim = snglPlot.get_xlim(),snglPlot.get_ylim() 104 snglPage.figure.clf() 105 snglPlot = snglPage.figure.gca() #get a fresh plot after clf() 103 106 except ValueError,error: 104 107 snglPlot = self.G2plotNB.add('Structure Factors').gca() … … 164 167 snglPlot.set_xlim((HKLmin[pzone[izone][0]],HKLmax[pzone[izone][0]])) 165 168 snglPlot.set_ylim((HKLmin[pzone[izone][1]],HKLmax[pzone[izone][1]])) 166 snglPage.canvas.draw() 169 if not newPlot: 170 snglPage.toolbar.push_current() 171 snglPlot.set_xlim(xylim[0]) 172 snglPlot.set_ylim(xylim[1]) 173 xylim = [] 174 snglPage.toolbar.push_current() 175 snglPage.toolbar.draw() 176 else: 177 snglPage.canvas.draw() 167 178 168 def PlotImage(self ):179 def PlotImage(self,newPlot=False): 169 180 from matplotlib.patches import Ellipse,Arc 170 181 … … 172 183 imgPage.canvas.SetToolTipString('') 173 184 size = len(self.ImageZ) 174 if (xlim[0] < event.xdata < xlim[1]) & (ylim[0] > event.ydata > ylim[1]):185 if event.xdata and event.ydata: #avoid out of frame errors 175 186 Data = self.PatternTree.GetItemPyData( \ 176 187 G2gd.GetPatternTreeItemId(self,self.Image, 'Image Controls')) … … 287 298 plotNum = self.G2plotNB.plotList.index('2D Powder Image') 288 299 imgPage = self.G2plotNB.nb.GetPage(plotNum) 300 if not newPlot: 301 imgPlot = imgPage.figure.gca() #get previous powder plot & get limits 302 xylim = imgPlot.get_xlim(),imgPlot.get_ylim() 289 303 imgPage.figure.clf() 290 imgPlot = imgPage.figure.gca() 291 if imgPage.views: 292 imgPage.toolbar._views = copy.deepcopy(imgPage.views) 293 view = imgPage.toolbar._views.forward() 304 imgPlot = imgPage.figure.gca() #get a fresh plot after clf() 294 305 295 306 except ValueError,error: … … 301 312 imgPage.canvas.mpl_connect('pick_event', OnImPick) 302 313 imgPage.canvas.mpl_connect('button_release_event', OnImRelease) 303 imgPage.views = False304 view = False305 314 imgPage.SetFocus() 306 315 … … 319 328 xlim = (-0.5,Xmax-.5) 320 329 ylim = (Xmax-.5,-0.5,) 321 if self.Img:322 xlim = self.Img.axes.get_xlim()323 ylim = self.Img.axes.get_ylim()324 330 Imin,Imax = Data['range'][1] 325 331 acolor = mpl.cm.get_cmap(Data['color']) … … 330 336 self.Img = imgPlot.imshow(A,aspect='equal',cmap=acolor, \ 331 337 interpolation='nearest',vmin=Imin,vmax=Imax,extent=[0,Xmax,Xmax,0]) 338 332 339 imgPlot.plot(xcent,ycent,'x') 333 340 if Data['showLines']: … … 371 378 imgPlot.text(cent[0],cent[1],'+',color=col,ha='center',va='center') 372 379 colorBar = imgPage.figure.colorbar(self.Img) 373 if view: 374 self.Img.axes.set_xlim(view[0][:2]) 375 self.Img.axes.set_ylim(view[0][2:]) 380 imgPlot.set_xlim(xlim) 381 imgPlot.set_ylim(ylim) 382 if not newPlot: 383 imgPage.toolbar.push_current() 384 imgPlot.set_xlim(xylim[0]) 385 imgPlot.set_ylim(xylim[1]) 386 xylim = [] 387 imgPage.toolbar.push_current() 388 imgPage.toolbar.draw() 376 389 else: 377 self.Img.axes.set_xlim(xlim) 378 self.Img.axes.set_ylim(ylim) 379 imgPage.canvas.draw() 390 imgPage.canvas.draw() 380 391 381 392 def PlotPeakWidths(self): … … 531 542 if xpos: #avoid out of frame mouse position 532 543 ypos = event.ydata 533 wave = self.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(self,PatternId, 'Instrument Parameters'))[0][1] 544 wave = self.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(self, \ 545 PatternId, 'Instrument Parameters'))[0][1] 534 546 dsp = 0.0 535 547 if abs(xpos) > 0.: … … 719 731 720 732 721 def PlotTRImage(self ):733 def PlotTRImage(self,newPlot=False): 722 734 723 735 def OnMotion(event): 724 trimgPage.canvas.SetToolTipString('')725 trimgPage.canvas.SetCursor(wx.CROSS_CURSOR)736 Page.canvas.SetToolTipString('') 737 Page.canvas.SetCursor(wx.CROSS_CURSOR) 726 738 azm = event.xdata 727 739 tth = event.ydata … … 771 783 try: 772 784 plotNum = self.G2plotNB.plotList.index('2D Transformed Powder Image') 773 trimgPage = self.G2plotNB.nb.GetPage(plotNum)774 trimgPage.figure.clf()775 trimgPlot = trimgPage.figure.gca()776 if trimgPage.views:777 trimgPage.toolbar._views = copy.deepcopy(trimgPage.views)778 view = trimgPage.toolbar._views.forward()785 Page = self.G2plotNB.nb.GetPage(plotNum) 786 if not newPlot: 787 Plot = Page.figure.gca() #get previous plot & get limits 788 xylim = Plot.get_xlim(),Plot.get_ylim() 789 Page.figure.clf() 790 Plot = Page.figure.gca() #get a fresh plot after clf() 779 791 780 792 except ValueError,error: 781 trimgPlot = self.G2plotNB.add('2D Transformed Powder Image').gca()793 Plot = self.G2plotNB.add('2D Transformed Powder Image').gca() 782 794 plotNum = self.G2plotNB.plotList.index('2D Transformed Powder Image') 783 trimgPage = self.G2plotNB.nb.GetPage(plotNum)784 trimgPage.canvas.mpl_connect('motion_notify_event', OnMotion)785 trimgPage.canvas.mpl_connect('pick_event', OnPick)786 trimgPage.canvas.mpl_connect('button_release_event', OnRelease)787 trimgPage.views = False795 Page = self.G2plotNB.nb.GetPage(plotNum) 796 Page.canvas.mpl_connect('motion_notify_event', OnMotion) 797 Page.canvas.mpl_connect('pick_event', OnPick) 798 Page.canvas.mpl_connect('button_release_event', OnRelease) 799 Page.views = False 788 800 view = False 789 trimgPage.SetFocus()801 Page.SetFocus() 790 802 791 803 data = self.PatternTree.GetItemPyData(self.PickId) … … 796 808 V = np.arange(Imin,Imax,step) 797 809 acolor = mpl.cm.get_cmap('Paired') 798 trimgPlot.set_xlabel('azimuth',fontsize=12)799 trimgPlot.set_ylabel('2-theta',fontsize=12)800 trimgPlot.contour(self.TA[1],self.TA[0],image,V,cmap=acolor)810 Plot.set_xlabel('azimuth',fontsize=12) 811 Plot.set_ylabel('2-theta',fontsize=12) 812 Plot.contour(self.TA[1],self.TA[0],image,V,cmap=acolor) 801 813 if data['showLines']: 802 814 IOtth = data['IOtth'] 803 815 LRAzim = data['LRazimuth'] #NB: integers 804 trimgPlot.plot([LRAzim[0],LRAzim[1]],[IOtth[0],IOtth[0]],picker=True) 805 trimgPlot.plot([LRAzim[0],LRAzim[1]],[IOtth[1],IOtth[1]],picker=True) 806 trimgPlot.plot([LRAzim[0],LRAzim[0]],[IOtth[0],IOtth[1]],picker=True) 807 trimgPlot.plot([LRAzim[1],LRAzim[1]],[IOtth[0],IOtth[1]],picker=True) 808 trimgPage.canvas.draw() 816 Plot.plot([LRAzim[0],LRAzim[1]],[IOtth[0],IOtth[0]],picker=True) 817 Plot.plot([LRAzim[0],LRAzim[1]],[IOtth[1],IOtth[1]],picker=True) 818 Plot.plot([LRAzim[0],LRAzim[0]],[IOtth[0],IOtth[1]],picker=True) 819 Plot.plot([LRAzim[1],LRAzim[1]],[IOtth[0],IOtth[1]],picker=True) 820 if not newPlot: 821 Page.toolbar.push_current() 822 Plot.set_xlim(xylim[0]) 823 Plot.set_ylim(xylim[1]) 824 xylim = [] 825 Page.toolbar.push_current() 826 Page.toolbar.draw() 827 else: 828 Page.canvas.draw() 809 829 810 830
Note: See TracChangeset
for help on using the changeset viewer.