Changeset 4837


Ignore:
Timestamp:
Mar 3, 2021 3:02:07 PM (3 years ago)
Author:
vondreele
Message:

change line styles in fprme f' & f" plot.
add a Raise for the refinement finished dialog box
move the nonstructure plotting stuff that was at the end of G2plot to the end of the nonstructure stuff
this is PlotFPAconvoluters - ChangePlotSettings? now at line 885-1098

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIdataGUI.py

    r4833 r4837  
    51905190            dlg.Update(101.) # forces the Auto_Hide; needed after move w/Win & wx3.0
    51915191            dlg.Destroy()
    5192 #            wx.Yield()
    51935192        if OK:
    51945193            Rw = Rvals['Rwp']
     
    52135212            dlg2 = wx.MessageDialog(self,text,'Refinement results, Rw =%.3f'%(Rw),wx.OK|wx.CANCEL)
    52145213            dlg2.CenterOnParent()
     5214            dlg2.Raise()
    52155215            try:
    52165216                if dlg2.ShowModal() == wx.ID_OK:
  • trunk/GSASIIplot.py

    r4835 r4837  
    883883            page.canvas.SetCursor(wx.StockCursor(wx.CURSOR_CROSS))
    884884           
     885def PlotFPAconvolutors(G2frame,NISTpk):
     886    '''Plot the convolutions used for the current peak computed with
     887    :func:`GSASIIfpaGUI.doFPAcalc`
     888    '''
     889    import NIST_profile as FP
     890    new,plotNum,Page,Plot,lim = G2frame.G2plotNB.FindPlotTab('FPA convolutors','mpl')
     891    Page.SetToolTipString('')
     892    cntr = NISTpk.twotheta_window_center_deg
     893    Plot.set_title('Peak convolution functions @ 2theta={:.3f}'.format(cntr))
     894    Plot.set_xlabel(r'$\Delta 2\theta, deg$',fontsize=14)
     895    Plot.set_ylabel(r'Intensity (arbitrary)',fontsize=14)
     896#    refColors=['b','r','c','g','m','k']
     897    refColors = ['xkcd:blue','xkcd:red','xkcd:green','xkcd:cyan','xkcd:magenta','xkcd:black',
     898        'xkcd:pink','xkcd:brown','xkcd:teal','xkcd:orange','xkcd:grey','xkcd:violet',]
     899    ttmin = ttmax = 0
     900    #GSASIIpath.IPyBreak()
     901    i = -1
     902    for conv in NISTpk.convolvers:
     903        if 'smoother' in conv: continue
     904        if 'crystallite_size' in conv: continue
     905        f = NISTpk.convolver_funcs[conv]()
     906        if f is None: continue
     907        i += 1
     908        FFT = FP.best_irfft(f)
     909        if f[1].real > 0: FFT = np.roll(FFT,int(len(FFT)/2.))
     910        FFT /= FFT.max()
     911        ttArr = np.linspace(-NISTpk.twotheta_window_fullwidth_deg/2,
     912                             NISTpk.twotheta_window_fullwidth_deg/2,len(FFT))
     913        ttmin = min(ttmin,ttArr[np.argmax(FFT>.005)])
     914        ttmax = max(ttmax,ttArr[::-1][np.argmax(FFT[::-1]>.005)])
     915        color = refColors[i%len(refColors)]
     916        Plot.plot(ttArr,FFT,color,label=conv[5:])
     917    legend = Plot.legend(loc='best')
     918    SetupLegendPick(legend,new)
     919    Page.toolbar.push_current()
     920    Plot.set_xlim((ttmin,ttmax))
     921    Page.toolbar.push_current()
     922    Page.ToolBarDraw()
     923    Page.canvas.draw()
     924
     925def SetupLegendPick(legend,new,delay=5):
     926    mplv = eval(mpl.__version__.replace('.',','))
     927    legend.delay = delay*1000 # Hold time in ms for clear; 0 == forever
     928    for line in legend.get_lines():
     929        if mplv[0] >= 3 and mplv[1] >= 3:
     930            line.set_pickradius(4)
     931        else:
     932            line.set_picker(4)
     933        # bug: legend items with single markers don't seem to respond to a "pick"
     934    #GSASIIpath.IPyBreak()
     935    for txt in legend.get_texts():
     936        try: # as of MPL 3.3.2 this has not changed
     937            txt.set_picker(4)
     938        except AttributeError:
     939            txt.set_pickradius(4)
     940    if new:
     941        legend.figure.canvas.mpl_connect('pick_event',onLegendPick)
     942       
     943def onLegendPick(event):
     944    '''When a line in the legend is selected, find the matching line
     945    in the plot and then highlight it by adding/enlarging markers.
     946    Set up a timer to make a reset after delay selected in SetupLegendPick
     947    '''
     948    def clearHighlight(event):
     949        if not canvas.timer: return
     950        l,lm,lms,lmw = canvas.timer.lineinfo
     951        l.set_marker(lm)
     952        l.set_markersize(lms)
     953        l.set_markeredgewidth(lmw)
     954        canvas.draw()
     955        canvas.timer = None
     956    canvas = event.artist.get_figure().canvas
     957    if not hasattr(canvas,'timer'): canvas.timer = None
     958    plot = event.artist.get_figure().get_axes()[0]
     959    if hasattr(plot.get_legend(),'delay'):
     960        delay = plot.get_legend().delay
     961    if canvas.timer: # clear previous highlight
     962        if delay > 0: canvas.timer.Stop()
     963        clearHighlight(None)
     964        #if delay <= 0: return   # use this in place of return
     965        # so that the next selected item is automatically highlighted (except when delay is 0)
     966        return
     967    if event.artist in plot.get_legend().get_lines():  # is this an artist item in the legend?
     968        lbl = event.artist.get_label()
     969    elif event.artist in plot.get_legend().get_texts():  # is this a text item in the legend?
     970        lbl = event.artist.get_text()
     971    else:
     972        #GSASIIpath.IPyBreak()
     973        return
     974   
     975    for l in plot.get_lines():
     976        if lbl == l.get_label():
     977            canvas.timer = wx.Timer()
     978            canvas.timer.Bind(wx.EVT_TIMER, clearHighlight)
     979            #GSASIIpath.IPyBreak()
     980            canvas.timer.lineinfo = (l,l.get_marker(),l.get_markersize(),l.get_markeredgewidth())
     981            # highlight the selected item
     982            if l.get_marker() == 'None':
     983                l.set_marker('o')
     984            else:
     985                l.set_markersize(2*l.get_markersize())
     986                l.set_markeredgewidth(2*l.get_markeredgewidth())
     987            canvas.draw()
     988            if delay > 0:
     989                canvas.timer.Start(delay,oneShot=True)
     990            break
     991    else:
     992            print('Warning: artist matching ',lbl,' not found')
     993   
     994def changePlotSettings(G2frame,Plot):
     995    '''Code in development to allow changes to plot settings
     996    prior to export of plot with "floppy disk" button
     997    '''
     998    def RefreshPlot(*args,**kwargs):
     999        '''Apply settings to the plot
     1000        '''
     1001        Plot.figure.subplots_adjust(left=int(plotOpt['labelSize'])/100.,
     1002                            bottom=int(plotOpt['labelSize'])/150.,
     1003                            right=.98,
     1004                            top=1.-int(plotOpt['labelSize'])/200.,
     1005                            hspace=0.0)
     1006        for P in Plot.figure.axes:
     1007            P.get_xaxis().get_label().set_fontsize(plotOpt['labelSize'])
     1008            P.get_yaxis().get_label().set_fontsize(plotOpt['labelSize'])
     1009            for l in P.get_xaxis().get_ticklabels():
     1010                l.set_fontsize(plotOpt['labelSize'])
     1011            for l in P.get_yaxis().get_ticklabels():
     1012                l.set_fontsize(plotOpt['labelSize'])
     1013            for l in P.lines:
     1014                l.set_linewidth(plotOpt['lineWid'])
     1015            P.get_xaxis().set_tick_params(width=plotOpt['lineWid'])
     1016            P.get_yaxis().set_tick_params(width=plotOpt['lineWid'])
     1017            for l in P.spines.values():
     1018                l.set_linewidth(plotOpt['lineWid'])
     1019               
     1020        Plot.set_title(plotOpt['title'],fontsize=plotOpt['labelSize'])
     1021        for i,P in enumerate(Plot.figure.axes):
     1022            if not P.get_visible(): continue
     1023            if i == 0:
     1024                lbl = ''
     1025            else:
     1026                lbl = str(i)
     1027            P.get_xaxis().set_label_text(plotOpt['xtitle'+lbl])
     1028            P.get_yaxis().set_label_text(plotOpt['ytitle'+lbl])           
     1029        Plot.figure.canvas.draw()
     1030
     1031    txtChoices = [str(i) for i in range (8,26)]
     1032    lwidChoices = ('0.5','0.7','1','1.5','2','2.5','3','4')
     1033    dlg = wx.Dialog(G2frame.plotFrame,
     1034                style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
     1035    vbox = wx.BoxSizer(wx.VERTICAL)
     1036    hbox = wx.BoxSizer(wx.HORIZONTAL)
     1037    hbox.Add(wx.StaticText(dlg,wx.ID_ANY,'Text size'),0,wx.ALL)
     1038    w = G2G.G2ChoiceButton(dlg,txtChoices,None,None,plotOpt,'labelSize',RefreshPlot,
     1039                                   size=(50,-1))
     1040    hbox.Add(w,0,wx.ALL|wx.ALIGN_CENTER)
     1041    vbox.Add(hbox,0,wx.ALL|wx.EXPAND)
     1042   
     1043    vbox.Add((1,5))
     1044    hbox = wx.BoxSizer(wx.HORIZONTAL)
     1045    hbox.Add(wx.StaticText(dlg,wx.ID_ANY,' Line widths'),0,wx.ALL)
     1046    w = G2G.G2ChoiceButton(dlg,lwidChoices,None,None,plotOpt,'lineWid',RefreshPlot,
     1047            size=(50,-1))
     1048    hbox.Add(w,0,wx.ALL|wx.ALIGN_CENTER)
     1049    vbox.Add(hbox,0,wx.ALL|wx.EXPAND)
     1050
     1051    vbox.Add((1,5))
     1052    hbox = wx.BoxSizer(wx.HORIZONTAL)
     1053    hbox.Add(wx.StaticText(dlg,wx.ID_ANY,' Title'),0,wx.ALL)
     1054    plotOpt['title'] = Plot.get_title()
     1055    w = G2G.ValidatedTxtCtrl(dlg,plotOpt,'title',OnLeave=RefreshPlot,
     1056                                 size=(200,-1),notBlank=False)
     1057    hbox.Add(w,0,wx.ALL|wx.ALIGN_CENTER)
     1058    vbox.Add(hbox,0,wx.ALL|wx.EXPAND)
     1059
     1060    for i,P in enumerate(Plot.figure.axes):
     1061        if not P.get_visible(): continue
     1062        if i == 0:
     1063            lbl = ''
     1064        else:
     1065            lbl = str(i)
     1066        vbox.Add((1,5))
     1067        hbox = wx.BoxSizer(wx.HORIZONTAL)
     1068        hbox.Add(wx.StaticText(dlg,wx.ID_ANY,' x label '+lbl),0,wx.ALL)
     1069        plotOpt['xtitle'+lbl] = P.get_xaxis().get_label_text()
     1070        w = G2G.ValidatedTxtCtrl(dlg,plotOpt,'xtitle'+lbl,OnLeave=RefreshPlot,
     1071                                 size=(200,-1),notBlank=False)
     1072        hbox.Add(w,0,wx.ALL|wx.ALIGN_CENTER)
     1073        vbox.Add(hbox,0,wx.ALL|wx.EXPAND)
     1074   
     1075        vbox.Add((1,5))
     1076        hbox = wx.BoxSizer(wx.HORIZONTAL)
     1077        hbox.Add(wx.StaticText(dlg,wx.ID_ANY,' y label '+lbl),0,wx.ALL)
     1078        plotOpt['ytitle'+lbl] = P.get_yaxis().get_label_text()
     1079        w = G2G.ValidatedTxtCtrl(dlg,plotOpt,'ytitle'+lbl,OnLeave=RefreshPlot,
     1080                                 size=(200,-1),notBlank=False)
     1081        hbox.Add(w,0,wx.ALL|wx.ALIGN_CENTER)
     1082        vbox.Add(hbox,0,wx.ALL|wx.EXPAND)
     1083   
     1084    vbox.Add((1,10),1,wx.ALL|wx.EXPAND,1)
     1085    hbox = wx.BoxSizer(wx.HORIZONTAL)
     1086    OKbtn = wx.Button(dlg, wx.ID_OK)
     1087    OKbtn.Bind(wx.EVT_BUTTON,lambda event:dlg.EndModal(wx.ID_OK))
     1088    hbox.Add((-1,-1),1,wx.ALL|wx.EXPAND,1)
     1089    hbox.Add(OKbtn)
     1090    hbox.Add((-1,-1),1,wx.ALL|wx.EXPAND,1)
     1091    vbox.Add(hbox,1,wx.ALL|wx.EXPAND,1)
     1092       
     1093    dlg.SetSizer(vbox)
     1094    vbox.Fit(dlg)
     1095    #dlg.Show()
     1096    RefreshPlot()
     1097    dlg.ShowModal()
    8851098##### PlotSngl ################################################################     
    8861099def PlotSngl(G2frame,newPlot=False,Data=None,hklRef=None,Title=''):
     
    1075410967    wx.CallAfter(Draw,'main')
    1075510968
    10756 def PlotFPAconvolutors(G2frame,NISTpk):
    10757     '''Plot the convolutions used for the current peak computed with
    10758     :func:`GSASIIfpaGUI.doFPAcalc`
    10759     '''
    10760     import NIST_profile as FP
    10761     new,plotNum,Page,Plot,lim = G2frame.G2plotNB.FindPlotTab('FPA convolutors','mpl')
    10762     Page.SetToolTipString('')
    10763     cntr = NISTpk.twotheta_window_center_deg
    10764     Plot.set_title('Peak convolution functions @ 2theta={:.3f}'.format(cntr))
    10765     Plot.set_xlabel(r'$\Delta 2\theta, deg$',fontsize=14)
    10766     Plot.set_ylabel(r'Intensity (arbitrary)',fontsize=14)
    10767 #    refColors=['b','r','c','g','m','k']
    10768     refColors = ['xkcd:blue','xkcd:red','xkcd:green','xkcd:cyan','xkcd:magenta','xkcd:black',
    10769         'xkcd:pink','xkcd:brown','xkcd:teal','xkcd:orange','xkcd:grey','xkcd:violet',]
    10770     ttmin = ttmax = 0
    10771     #GSASIIpath.IPyBreak()
    10772     i = -1
    10773     for conv in NISTpk.convolvers:
    10774         if 'smoother' in conv: continue
    10775         if 'crystallite_size' in conv: continue
    10776         f = NISTpk.convolver_funcs[conv]()
    10777         if f is None: continue
    10778         i += 1
    10779         FFT = FP.best_irfft(f)
    10780         if f[1].real > 0: FFT = np.roll(FFT,int(len(FFT)/2.))
    10781         FFT /= FFT.max()
    10782         ttArr = np.linspace(-NISTpk.twotheta_window_fullwidth_deg/2,
    10783                              NISTpk.twotheta_window_fullwidth_deg/2,len(FFT))
    10784         ttmin = min(ttmin,ttArr[np.argmax(FFT>.005)])
    10785         ttmax = max(ttmax,ttArr[::-1][np.argmax(FFT[::-1]>.005)])
    10786         color = refColors[i%len(refColors)]
    10787         Plot.plot(ttArr,FFT,color,label=conv[5:])
    10788     legend = Plot.legend(loc='best')
    10789     SetupLegendPick(legend,new)
    10790     Page.toolbar.push_current()
    10791     Plot.set_xlim((ttmin,ttmax))
    10792     Page.toolbar.push_current()
    10793     Page.ToolBarDraw()
    10794     Page.canvas.draw()
    10795 
    10796 def SetupLegendPick(legend,new,delay=5):
    10797     mplv = eval(mpl.__version__.replace('.',','))
    10798     legend.delay = delay*1000 # Hold time in ms for clear; 0 == forever
    10799     for line in legend.get_lines():
    10800         if mplv[0] >= 3 and mplv[1] >= 3:
    10801             line.set_pickradius(4)
    10802         else:
    10803             line.set_picker(4)
    10804         # bug: legend items with single markers don't seem to respond to a "pick"
    10805     #GSASIIpath.IPyBreak()
    10806     for txt in legend.get_texts():
    10807         try: # as of MPL 3.3.2 this has not changed
    10808             txt.set_picker(4)
    10809         except AttributeError:
    10810             txt.set_pickradius(4)
    10811     if new:
    10812         legend.figure.canvas.mpl_connect('pick_event',onLegendPick)
    10813        
    10814 def onLegendPick(event):
    10815     '''When a line in the legend is selected, find the matching line
    10816     in the plot and then highlight it by adding/enlarging markers.
    10817     Set up a timer to make a reset after delay selected in SetupLegendPick
    10818     '''
    10819     def clearHighlight(event):
    10820         if not canvas.timer: return
    10821         l,lm,lms,lmw = canvas.timer.lineinfo
    10822         l.set_marker(lm)
    10823         l.set_markersize(lms)
    10824         l.set_markeredgewidth(lmw)
    10825         canvas.draw()
    10826         canvas.timer = None
    10827     canvas = event.artist.get_figure().canvas
    10828     if not hasattr(canvas,'timer'): canvas.timer = None
    10829     plot = event.artist.get_figure().get_axes()[0]
    10830     if hasattr(plot.get_legend(),'delay'):
    10831         delay = plot.get_legend().delay
    10832     if canvas.timer: # clear previous highlight
    10833         if delay > 0: canvas.timer.Stop()
    10834         clearHighlight(None)
    10835         #if delay <= 0: return   # use this in place of return
    10836         # so that the next selected item is automatically highlighted (except when delay is 0)
    10837         return
    10838     if event.artist in plot.get_legend().get_lines():  # is this an artist item in the legend?
    10839         lbl = event.artist.get_label()
    10840     elif event.artist in plot.get_legend().get_texts():  # is this a text item in the legend?
    10841         lbl = event.artist.get_text()
    10842     else:
    10843         #GSASIIpath.IPyBreak()
    10844         return
    10845    
    10846     for l in plot.get_lines():
    10847         if lbl == l.get_label():
    10848             canvas.timer = wx.Timer()
    10849             canvas.timer.Bind(wx.EVT_TIMER, clearHighlight)
    10850             #GSASIIpath.IPyBreak()
    10851             canvas.timer.lineinfo = (l,l.get_marker(),l.get_markersize(),l.get_markeredgewidth())
    10852             # highlight the selected item
    10853             if l.get_marker() == 'None':
    10854                 l.set_marker('o')
    10855             else:
    10856                 l.set_markersize(2*l.get_markersize())
    10857                 l.set_markeredgewidth(2*l.get_markeredgewidth())
    10858             canvas.draw()
    10859             if delay > 0:
    10860                 canvas.timer.Start(delay,oneShot=True)
    10861             break
    10862     else:
    10863             print('Warning: artist matching ',lbl,' not found')
    10864    
    10865 def changePlotSettings(G2frame,Plot):
    10866     '''Code in development to allow changes to plot settings
    10867     prior to export of plot with "floppy disk" button
    10868     '''
    10869     def RefreshPlot(*args,**kwargs):
    10870         '''Apply settings to the plot
    10871         '''
    10872         Plot.figure.subplots_adjust(left=int(plotOpt['labelSize'])/100.,
    10873                             bottom=int(plotOpt['labelSize'])/150.,
    10874                             right=.98,
    10875                             top=1.-int(plotOpt['labelSize'])/200.,
    10876                             hspace=0.0)
    10877         for P in Plot.figure.axes:
    10878             P.get_xaxis().get_label().set_fontsize(plotOpt['labelSize'])
    10879             P.get_yaxis().get_label().set_fontsize(plotOpt['labelSize'])
    10880             for l in P.get_xaxis().get_ticklabels():
    10881                 l.set_fontsize(plotOpt['labelSize'])
    10882             for l in P.get_yaxis().get_ticklabels():
    10883                 l.set_fontsize(plotOpt['labelSize'])
    10884             for l in P.lines:
    10885                 l.set_linewidth(plotOpt['lineWid'])
    10886             P.get_xaxis().set_tick_params(width=plotOpt['lineWid'])
    10887             P.get_yaxis().set_tick_params(width=plotOpt['lineWid'])
    10888             for l in P.spines.values():
    10889                 l.set_linewidth(plotOpt['lineWid'])
    10890                
    10891         Plot.set_title(plotOpt['title'],fontsize=plotOpt['labelSize'])
    10892         for i,P in enumerate(Plot.figure.axes):
    10893             if not P.get_visible(): continue
    10894             if i == 0:
    10895                 lbl = ''
    10896             else:
    10897                 lbl = str(i)
    10898             P.get_xaxis().set_label_text(plotOpt['xtitle'+lbl])
    10899             P.get_yaxis().set_label_text(plotOpt['ytitle'+lbl])           
    10900         Plot.figure.canvas.draw()
    10901 
    10902     txtChoices = [str(i) for i in range (8,26)]
    10903     lwidChoices = ('0.5','0.7','1','1.5','2','2.5','3','4')
    10904     dlg = wx.Dialog(G2frame.plotFrame,
    10905                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
    10906     vbox = wx.BoxSizer(wx.VERTICAL)
    10907     hbox = wx.BoxSizer(wx.HORIZONTAL)
    10908     hbox.Add(wx.StaticText(dlg,wx.ID_ANY,'Text size'),0,wx.ALL)
    10909     w = G2G.G2ChoiceButton(dlg,txtChoices,None,None,plotOpt,'labelSize',RefreshPlot,
    10910                                    size=(50,-1))
    10911     hbox.Add(w,0,wx.ALL|wx.ALIGN_CENTER)
    10912     vbox.Add(hbox,0,wx.ALL|wx.EXPAND)
    10913    
    10914     vbox.Add((1,5))
    10915     hbox = wx.BoxSizer(wx.HORIZONTAL)
    10916     hbox.Add(wx.StaticText(dlg,wx.ID_ANY,' Line widths'),0,wx.ALL)
    10917     w = G2G.G2ChoiceButton(dlg,lwidChoices,None,None,plotOpt,'lineWid',RefreshPlot,
    10918             size=(50,-1))
    10919     hbox.Add(w,0,wx.ALL|wx.ALIGN_CENTER)
    10920     vbox.Add(hbox,0,wx.ALL|wx.EXPAND)
    10921 
    10922     vbox.Add((1,5))
    10923     hbox = wx.BoxSizer(wx.HORIZONTAL)
    10924     hbox.Add(wx.StaticText(dlg,wx.ID_ANY,' Title'),0,wx.ALL)
    10925     plotOpt['title'] = Plot.get_title()
    10926     w = G2G.ValidatedTxtCtrl(dlg,plotOpt,'title',OnLeave=RefreshPlot,
    10927                                  size=(200,-1),notBlank=False)
    10928     hbox.Add(w,0,wx.ALL|wx.ALIGN_CENTER)
    10929     vbox.Add(hbox,0,wx.ALL|wx.EXPAND)
    10930 
    10931     for i,P in enumerate(Plot.figure.axes):
    10932         if not P.get_visible(): continue
    10933         if i == 0:
    10934             lbl = ''
    10935         else:
    10936             lbl = str(i)
    10937         vbox.Add((1,5))
    10938         hbox = wx.BoxSizer(wx.HORIZONTAL)
    10939         hbox.Add(wx.StaticText(dlg,wx.ID_ANY,' x label '+lbl),0,wx.ALL)
    10940         plotOpt['xtitle'+lbl] = P.get_xaxis().get_label_text()
    10941         w = G2G.ValidatedTxtCtrl(dlg,plotOpt,'xtitle'+lbl,OnLeave=RefreshPlot,
    10942                                  size=(200,-1),notBlank=False)
    10943         hbox.Add(w,0,wx.ALL|wx.ALIGN_CENTER)
    10944         vbox.Add(hbox,0,wx.ALL|wx.EXPAND)
    10945    
    10946         vbox.Add((1,5))
    10947         hbox = wx.BoxSizer(wx.HORIZONTAL)
    10948         hbox.Add(wx.StaticText(dlg,wx.ID_ANY,' y label '+lbl),0,wx.ALL)
    10949         plotOpt['ytitle'+lbl] = P.get_yaxis().get_label_text()
    10950         w = G2G.ValidatedTxtCtrl(dlg,plotOpt,'ytitle'+lbl,OnLeave=RefreshPlot,
    10951                                  size=(200,-1),notBlank=False)
    10952         hbox.Add(w,0,wx.ALL|wx.ALIGN_CENTER)
    10953         vbox.Add(hbox,0,wx.ALL|wx.EXPAND)
    10954    
    10955     vbox.Add((1,10),1,wx.ALL|wx.EXPAND,1)
    10956     hbox = wx.BoxSizer(wx.HORIZONTAL)
    10957     OKbtn = wx.Button(dlg, wx.ID_OK)
    10958     OKbtn.Bind(wx.EVT_BUTTON,lambda event:dlg.EndModal(wx.ID_OK))
    10959     hbox.Add((-1,-1),1,wx.ALL|wx.EXPAND,1)
    10960     hbox.Add(OKbtn)
    10961     hbox.Add((-1,-1),1,wx.ALL|wx.EXPAND,1)
    10962     vbox.Add(hbox,1,wx.ALL|wx.EXPAND,1)
    10963        
    10964     dlg.SetSizer(vbox)
    10965     vbox.Fit(dlg)
    10966     #dlg.Show()
    10967     RefreshPlot()
    10968     dlg.ShowModal()
  • trunk/fprime.py

    r4789 r4837  
    365365                fppsP3 = np.array(Fpps[3])
    366366                self.ax.plot(fppsP1,fppsP2,Color,label=Fpps[0]+" f '")
    367                 self.ax.plot(fppsP1,fppsP3,Color,label=Fpps[0]+' f "')
     367                self.ax.plot(fppsP1,fppsP3,Color,linestyle='dashed',label=Fpps[0]+' f "')
    368368        if self.ifWave:
    369369            self.ax.set_xlabel(r'$\mathsf{\lambda, \AA}$',fontsize=14)
     
    423423            ffop = np.array(ffo)
    424424            ffp = np.array(ff)
    425             self.bx.plot(Xp,ffop,Color+'--',label=Els+" f")
     425            self.bx.plot(Xp,ffop,Color,linestyle='dashed',label=Els+" f")
    426426            self.bx.plot(Xp,ffp,Color,label=Els+" f+f'")
    427427        if self.Elems:
Note: See TracChangeset for help on using the changeset viewer.