@@ -215,6 +215,7 @@ def __init__(self,parent,id=-1,dpi=None,publish=None,**kwargs):
215215 _tabPlotWin .__init__ (self ,parent ,id = id ,** kwargs )
216216 mpl .rcParams ['legend.fontsize' ] = 12
217217 mpl .rcParams ['axes.grid' ] = False
218+ #TODO: set dpi here via config var: this changes the size of the labeling font 72-100 is normal
218219 self .figure = mplfig .Figure (dpi = dpi ,figsize = (5 ,6 ))
219220 self .canvas = Canvas (self ,- 1 ,self .figure )
220221 self .toolbar = GSASIItoolbar (self .canvas ,publish = publish )
@@ -634,6 +635,11 @@ def set_message(self,s):
634635 '''
635636 pass
636637
638+ # TODO: perhaps someday we could pull out the bitmaps and rescale there here
639+ # def AddTool(self,*args,**kwargs):
640+ # print('AddTool',args,kwargs)
641+ # return Toolbar.AddTool(self,*args,**kwargs)
642+
637643 def AddToolBarTool (self ,label ,title ,filename ,callback ):
638644 bmpFilename = GSASIIpath .getIconFile (filename )
639645 if bmpFilename is None :
@@ -642,10 +648,7 @@ def AddToolBarTool(self,label,title,filename,callback):
642648 else :
643649 bmp = wx .Bitmap (bmpFilename )
644650# bmp = wx.Bitmap(bmpFilename,type=wx.BITMAP_TYPE_ANY) # probably better
645- if 'phoenix' in wx .version ():
646- button = self .AddTool (wx .ID_ANY , label , bmp , title )
647- else :
648- button = self .AddSimpleTool (wx .ID_ANY , bmp , label , title )
651+ button = self .AddTool (wx .ID_ANY , label , bmp , title )
649652 wx .EVT_TOOL .Bind (self , button .GetId (), button .GetId (), callback )
650653 return button .GetId ()
651654
@@ -732,6 +735,20 @@ def OnArrow(self,event):
732735 def OnHelp (self ,event ):
733736 'Respond to press of help button on plot toolbar'
734737 bookmark = self .Parent .helpKey # get help category used to create plot
738+ G2frame = wx .GetApp ().GetMainTopWindow ()
739+ if bookmark != G2frame .dataWindow .helpKey :
740+ # plot window and data window are different
741+ try :
742+ selText = '/' .join (G2frame .PickIdText )
743+ except :
744+ selText = G2frame .GPXtree .GetItemText (G2frame .GPXtree .GetSelection ())
745+ G2G .G2MessageBox (G2frame ,
746+ 'Displaying help on plot window, but you have moved to a '
747+ f'different data tree item ({ selText } ) where plot menu items '
748+ 'and key commands are not available. '
749+ 'Return to the appropriate data tree '
750+ 'item for full plot functionality' ,
751+ 'Wrong data tree selection' )
735752 #if GSASIIpath.GetConfigValue('debug'): print 'plot help: key=',bookmark
736753 G2G .ShowHelp (bookmark ,self .TopLevelParent )
737754
@@ -3275,24 +3292,26 @@ def OnKeyPress(event):
32753292 sGp = []
32763293 Wp = []
32773294 Qp = []
3295+ sQp = []
32783296 for ip ,peak in enumerate (peaks ):
32793297 Qp .append (2. * np .pi * difC / peak [0 ])
3298+ sQp .append (2. * np .pi * difC * peakEsds .get ('pos%d' % ip ,0.0 )/ peak [0 ]** 2 )
32803299 Ap .append (peak [4 ])
32813300 sAp .append (peakEsds .get ('alp%d' % ip ,0.0 ))
32823301 Bp .append (peak [6 ])
32833302 sBp .append (peakEsds .get ('bet%d' % ip ,0.0 ))
3284- sp = 1.17741 * np .sqrt (peak [8 ])/ peak [0 ]
3303+ sp = 0.5 * sq8ln2 * np .sqrt (peak [8 ])/ peak [0 ]
32853304 Sp .append (sp ) #sqrt(8ln2)/2
3286- sSp .append (0.5 * sp * peakEsds .get ('sig%d' % ip ,0.0 )/ peak [8 ])
3305+ sSp .append (0.25 * sq8ln2 * peakEsds .get ('sig%d' % ip ,0.0 )/ ( np . sqrt ( peak [8 ]) * peak [ 0 ]) )
32873306 Gp .append (peak [10 ]/ peak [0 ])
32883307 sGp .append (peakEsds .get ('gam%d' % ip ,0.0 )/ peak [0 ])
32893308
32903309 if Qp :
32913310 if G2frame .ErrorBars :
3292- Plot .errorbar (Qp ,Ap ,yerr = sAp ,fmt = 'r+' ,capsize = 2 ,label = 'A peak' )
3293- Plot .errorbar (Qp ,Bp ,yerr = sBp ,fmt = '+' ,color = 'orange' ,capsize = 2 ,label = 'B peak' )
3294- Plot .errorbar (Qp ,Sp ,yerr = sSp ,fmt = 'b+' ,capsize = 2 ,label = 'G peak' )
3295- Plot .errorbar (Qp ,Gp ,yerr = sGp ,fmt = 'm+' ,capsize = 2 ,label = 'L peak' )
3311+ Plot .errorbar (Qp ,Ap ,xerr = sQp , yerr = sAp ,fmt = 'r+' ,capsize = 2 ,label = 'A peak' )
3312+ Plot .errorbar (Qp ,Bp ,xerr = sQp , yerr = sBp ,fmt = '+' ,color = 'orange' ,capsize = 2 ,label = 'B peak' )
3313+ Plot .errorbar (Qp ,Sp ,xerr = sQp , yerr = sSp ,fmt = 'b+' ,capsize = 2 ,label = 'G peak' )
3314+ Plot .errorbar (Qp ,Gp ,xerr = sQp , yerr = sGp ,fmt = 'm+' ,capsize = 2 ,label = 'L peak' )
32963315 else :
32973316 Plot .plot (Qp ,Ap ,'+' ,color = 'r' ,label = 'A peak' )
32983317 Plot .plot (Qp ,Bp ,'+' ,color = 'orange' ,label = 'B peak' )
@@ -3394,6 +3413,7 @@ def OnKeyPress(event):
33943413 Plot .plot (Q ,Wf ,color = 'b' ,dashes = (5 ,5 ),label = 'G+L fit' )
33953414
33963415 Xp = []
3416+ sXp = []
33973417 Yp = []
33983418 sYp = []
33993419 Zp = []
@@ -3402,6 +3422,7 @@ def OnKeyPress(event):
34023422 for ip ,peak in enumerate (peaks ):
34033423 tpd = tand (peak [0 ]/ 2. )
34043424 Xp .append (4.0 * math .pi * sind (peak [0 ]/ 2.0 )/ lam )
3425+ sXp .append (2.0 * math .pi * cosd (peak [0 ]/ 2.0 )* peakEsds .get ('pos%d' % ip ,0.0 )/ lam )
34053426 try :
34063427 s = math .sqrt (peak [isig ])* math .pi / 18000.
34073428 except ValueError :
@@ -3410,14 +3431,14 @@ def OnKeyPress(event):
34103431 G = G2pwd .getgamFW (g ,s ) #/2.
34113432 yp = sq8ln2 * s
34123433 Yp .append (yp / tpd )
3413- sYp .append ((math .pi / 36000 . )* peakEsds .get ('sig%d' % ip ,0.0 )/ yp )
3434+ sYp .append (0.5 * sq8ln2 * (math .pi / 18000 . )** 2 * peakEsds .get ('sig%d' % ip ,0.0 )/ ( s * tpd ) )
34143435 Zp .append (g / tpd )
34153436 sZp .append ((math .pi / 18000. )* peakEsds .get ('gam%d' % ip ,0.0 )/ tpd )
34163437 Wp .append (G / tpd )
34173438 if len (peaks ):
34183439 if G2frame .ErrorBars :
3419- Plot .errorbar (Xp ,Yp ,yerr = sYp ,fmt = 'r+' ,capsize = 2 ,label = 'G peak' )
3420- Plot .errorbar (Xp ,Zp ,yerr = sZp ,fmt = 'g+' ,capsize = 2 ,label = 'L peak' )
3440+ Plot .errorbar (Xp ,Yp ,xerr = sXp , yerr = sYp ,fmt = 'r+' ,capsize = 2 ,label = 'G peak' )
3441+ Plot .errorbar (Xp ,Zp ,xerr = sXp , yerr = sZp ,fmt = 'g+' ,capsize = 2 ,label = 'L peak' )
34213442 else :
34223443 Plot .plot (Xp ,Yp ,'+' ,color = 'r' ,label = 'G peak' )
34233444 Plot .plot (Xp ,Zp ,'+' ,color = 'g' ,label = 'L peak' )
0 commit comments