Changeset 132
- Timestamp:
- Jul 27, 2010 5:59:50 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIplot.py
r125 r132 63 63 return page.figure 64 64 65 def clear(self): 66 while self.nb.GetPageCount(): 67 self.nb.DeletePage(0) 68 self.plotList = [] 69 self.status.DestroyChildren() 70 65 71 def OnPageChanged(self,event): 66 72 self.status.DestroyChildren() #get rid of special stuff on status bar … … 68 74 def PlotSngl(self,newPlot=False): 69 75 from matplotlib.patches import Circle 76 global HKL,HKLF 70 77 71 78 def OnSCMotion(event): … … 89 96 if '100' in Data['Zone']: 90 97 Page.canvas.SetToolTipString('(picked:(%3d,%3d,%3d))'%(zpos,pos[0],pos[1])) 91 hkl = [zpos,pos[0],pos[1]]98 hkl = np.array([zpos,pos[0],pos[1]]) 92 99 elif '010' in Data['Zone']: 93 100 Page.canvas.SetToolTipString('(picked:(%3d,%3d,%3d))'%(pos[0],zpos,pos[1])) 94 hkl = [pos[0],zpos,pos[1]]101 hkl = np.array([pos[0],zpos,pos[1]]) 95 102 elif '001' in Data['Zone']: 96 103 Page.canvas.SetToolTipString('(picked:(%3d,%3d,%3d))'%(pos[0],pos[1],zpos)) 97 hkl = [pos[0],pos[1],zpos]104 hkl = np.array([pos[0],pos[1],zpos]) 98 105 h,k,l = hkl 99 i = HKL.all(hkl)100 print i101 HKLtxt = '(%3d,%3d,%3d %10.2f %6.3f %10.2f)'%(h,k,l,Fosq,sig,Fcsq)102 self.G2plotNB.status.SetFields(['','HKL, Fosq, sig, Fcsq = '+HKLtxt])103 104 106 hklf = HKLF[np.where(np.all(HKL-hkl == [0,0,0],axis=1))] 107 if len(hklf): 108 Fosq,sig,Fcsq = hklf[0] 109 HKLtxt = '(%3d,%3d,%3d %.2f %.3f %.2f %.2f)'%(h,k,l,Fosq,sig,Fcsq,(Fosq-Fcsq)/(scale*sig)) 110 self.G2plotNB.status.SetFields(['','HKL, Fosq, sig, Fcsq, delFsq/sig = '+HKLtxt]) 111 105 112 def OnSCKeyPress(event): 106 113 print event.key … … 118 125 plotNum = self.G2plotNB.plotList.index('Structure Factors') 119 126 Page = self.G2plotNB.nb.GetPage(plotNum) 120 Page.canvas.mpl_connect('key_press_event', OnSCKeyPress)127 # Page.canvas.mpl_connect('key_press_event', OnSCKeyPress) 121 128 Page.canvas.mpl_connect('pick_event', OnSCPick) 122 129 Page.canvas.mpl_connect('motion_notify_event', OnSCMotion) … … 141 148 Plot.set_title(self.PatternTree.GetItemText(self.Sngl)[5:]) 142 149 HKL = [] 150 HKLF = [] 143 151 for H,Fosq,sig,Fcsq,x,x,x in HKLref: 144 152 HKL.append(H) 153 HKLF.append([Fosq,sig,Fcsq]) 145 154 if H[izone] == Data['Layer']: 146 155 B = 0 … … 169 178 if radius > 0: 170 179 if A > B: 180 Plot.add_artist(Circle(xy,radius=radius,ec='g',fc='g')) 181 else: 171 182 Plot.add_artist(Circle(xy,radius=radius,ec='r',fc='r')) 172 else: 173 Plot.add_artist(Circle(xy,radius=radius,ec='g',fc='g')) 174 HKL = np.array(HKL) 183 HKL = np.array(HKL,dtype=np.int) 184 HKLF = np.array(HKLF) 175 185 Plot.set_xlabel(xlabel[izone]+str(Data['Layer']),fontsize=12) 176 186 Plot.set_ylabel(ylabel[izone],fontsize=12) … … 188 198 189 199 def PlotPatterns(self,newPlot=False): 200 global HKL 190 201 191 202 def OnPick(event): … … 276 287 if self.itemPicked: 277 288 Page.canvas.SetToolTipString('%9.3f'%(xpos)) 289 if self.PickId and self.PatternTree.GetItemText(self.PickId) in ['Index Peak List','Unit Cells List']: 290 found = [] 291 if len(HKL): 292 found = HKL[np.where(np.fabs(HKL.T[5]-xpos) < 0.05)] 293 if len(found): 294 h,k,l = found[0][:3] 295 Page.canvas.SetToolTipString('%d,%d,%d'%(int(h),int(k),int(l))) 296 else: 297 Page.canvas.SetToolTipString('') 298 278 299 except TypeError: 279 300 self.G2plotNB.status.SetStatusText('Select PWDR powder pattern first',1) 280 301 281 302 def OnRelease(event): 282 303 if self.itemPicked is None: return … … 346 367 item, cookie = self.PatternTree.GetNextChild(self.root, cookie) 347 368 Ymax = 1.0 369 HKL = np.array(self.HKL) 348 370 for Pattern in PlotList: 349 371 xye = Pattern[1] … … 403 425 Plot.plot(X,Y,colors[N%6],picker=False) 404 426 if PickId and self.PatternTree.GetItemText(PickId) in ['Index Peak List','Unit Cells List']: 405 peaks = self.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(self,PatternId, 'Index Peak List'))427 peaks = np.array((self.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(self,PatternId, 'Index Peak List')))) 406 428 for peak in peaks: 407 429 Plot.axvline(peak[0],color='b') … … 427 449 428 450 def PlotPowderLines(self): 451 global HKL 429 452 430 453 def OnMotion(event): … … 433 456 Page.canvas.SetCursor(wx.CROSS_CURSOR) 434 457 self.G2plotNB.status.SetFields(['','2-theta =%9.3f '%(xpos,)]) 458 if self.PickId and self.PatternTree.GetItemText(self.PickId) in ['Index Peak List','Unit Cells List']: 459 found = [] 460 if len(HKL): 461 found = HKL[np.where(np.fabs(HKL.T[5]-xpos) < 0.05)] 462 if len(found): 463 h,k,l = found[0][:3] 464 Page.canvas.SetToolTipString('%d,%d,%d'%(int(h),int(k),int(l))) 465 else: 466 Page.canvas.SetToolTipString('') 435 467 436 468 try: … … 453 485 for peak in peaks: 454 486 Plot.axvline(peak[0],color='b') 487 HKL = np.array(self.HKL) 455 488 for hkl in self.HKL: 456 489 Plot.axvline(hkl[5],color='r',dashes=(5,5))
Note: See TracChangeset
for help on using the changeset viewer.