Changeset 3010


Ignore:
Timestamp:
Aug 16, 2017 3:12:38 PM (4 years ago)
Author:
vondreele
Message:

work on colors for PWDR plots - picked PWDR is now always same colors (obsd - blue, etc.). Multiplot colors seem fixed at Paired - bug; can change contour colors tho. as usual.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIplot.py

    r3008 r3010  
    12701270    global DifLine # BHT: probably does not need to be global
    12711271    global Ymax
    1272     global Pattern
     1272    global Pattern,mcolors
    12731273    plottype = plotType
    12741274   
     
    13141314                newPlot = True
    13151315        elif event.key == 's' and 'PWDR' in plottype:
    1316             if G2frame.Contour:
    1317                 choice = [m for m in mpl.cm.datad.keys()]   # if not m.endswith("_r")
    1318                 choice.sort()
    1319                 dlg = wx.SingleChoiceDialog(G2frame,'Select','Color scheme',choice)
    1320                 if dlg.ShowModal() == wx.ID_OK:
    1321                     sel = dlg.GetSelection()
    1322                     G2frame.ContourColor = choice[sel]
    1323                 else:
    1324                     G2frame.ContourColor = GSASIIpath.GetConfigValue('Contour_color','Paired')
    1325                 dlg.Destroy()
    1326             elif G2frame.SinglePlot:
     1316            if G2frame.SinglePlot:  #toggle sqrt plot
    13271317                G2frame.plotStyle['sqrtPlot'] = not G2frame.plotStyle['sqrtPlot']
    13281318                Ymax = max(Pattern[1][1])
     
    13351325                    Pattern[0]['refOffset'] = -0.1*Ymax
    13361326                    Pattern[0]['refDelt'] = .1*Ymax
     1327            else:   #select color scheme for multiplots & contour plots
     1328                choice = [m for m in mpl.cm.datad.keys()]   # if not m.endswith("_r")
     1329                choice.sort()
     1330                dlg = wx.SingleChoiceDialog(G2frame,'Select','Color scheme',choice)
     1331                if dlg.ShowModal() == wx.ID_OK:
     1332                    sel = dlg.GetSelection()
     1333                    G2frame.ContourColor = choice[sel]
     1334                else:
     1335                    G2frame.ContourColor = GSASIIpath.GetConfigValue('Contour_color','Paired')
     1336                dlg.Destroy()
    13371337            newPlot = True
    13381338        elif event.key == 'u' and (G2frame.Contour or not G2frame.SinglePlot):
     
    19391939                        'w: toggle divide by sig','+: no selection')
    19401940                else:
    1941                     Page.Choice = (' key press','l: offset left','r: offset right','d: offset down',
    1942                         'u: offset up','o: reset offset','b: toggle subtract background','n: log(I) on','c: contour on',
    1943                         'q: toggle q plot','t: toggle d-spacing plot','m: toggle multidata plot','f: select data',
    1944                         'w: toggle divide by sig','+: no selection')
     1941                    Page.Choice = (' key press','l: offset left','r: offset right','d: offset down','u: offset up','o: reset offset',
     1942                        'b: toggle subtract background','n: log(I) on','c: contour on','q: toggle q plot','t: toggle d-spacing plot',
     1943                        'm: toggle multidata plot','f: select data','s: color scheme','w: toggle divide by sig','+: no selection')
    19451944            elif plottype in ['SASD','REFD']:
    19461945                if G2frame.SinglePlot:
     
    19901989            SampleList.append(G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,
    19911990                id, 'Sample Parameters')))
    1992         mcolors = mpl.cm.ScalarMappable(mpl.cm.get_cmap(G2frame.ContourColor))
    19931991    lenX = 0
    19941992    Ymax = None
     
    20432041            else:
    20442042                Plot.set_ylabel(r'$Normalized\ intensity$',fontsize=16)
     2043    mcolors = mpl.cm.ScalarMappable(mpl.cm.get_cmap(G2frame.ContourColor))
    20452044    if G2frame.Contour:
    20462045        ContourZ = []
     
    21572156                    if 'PWDR' in plottype:
    21582157                        Plot.set_yscale("log",nonposy='mask')
    2159                         Plot.plot(X,Y,colors[N%6]+pP,picker=3.,clip_on=Clip_on)
    2160                         Plot.plot(X,Z,colors[(N+1)%6],picker=False)
    2161                         Plot.plot(X,W,colors[(N+2)%6],picker=False)     #background
     2158                        Plot.plot(X,Y,colors[0]+pP,picker=3.,clip_on=Clip_on)
     2159                        Plot.plot(X,Z,colors[1],picker=False)
     2160                        Plot.plot(X,W,colors[2],picker=False)     #background
    21622161                    elif plottype in ['SASD','REFD']:
    21632162                        Plot.set_xscale("log",nonposx='mask')
     
    21672166                            Plot.set_yscale("linear")
    21682167                            DS = (YB-ZB)*np.sqrt(xye[2])
    2169                             Plot.plot(X[Ibeg:Ifin],DS[Ibeg:Ifin],colors[(N+3)%6],picker=False)
     2168                            Plot.plot(X[Ibeg:Ifin],DS[Ibeg:Ifin],colors[3],picker=False)
    21702169                            Plot.axhline(0.,color=wx.BLACK)
    21712170                            Plot.set_ylim(bottom=np.min(DS[Ibeg:Ifin])*1.2,top=np.max(DS[Ibeg:Ifin])*1.2)                                                   
     
    21752174                                if G2frame.plotStyle['sqPlot']:
    21762175                                    Plot.errorbar(X,YB,yerr=X**4*Sample['Scale'][0]*np.sqrt(1./(Pattern[0]['wtFactor']*xye[2])),
    2177                                         ecolor=colors[N%6],picker=3.,clip_on=Clip_on)
     2176                                        ecolor=colors[0],picker=3.,clip_on=Clip_on)
    21782177                                else:
    21792178                                    Plot.errorbar(X,YB,yerr=Sample['Scale'][0]*np.sqrt(1./(Pattern[0]['wtFactor']*xye[2])),
    2180                                         ecolor=colors[N%6],picker=3.,clip_on=Clip_on)
     2179                                        ecolor=colors[0],picker=3.,clip_on=Clip_on)
    21812180                            else:
    2182                                 Plot.plot(X,YB,colors[N%6]+pP,picker=3.,clip_on=Clip_on)
    2183                             Plot.plot(X,W,colors[(N+2)%6],picker=False)     #const. background
    2184                             Plot.plot(X,ZB,colors[(N+1)%6],picker=False)
     2181                                Plot.plot(X,YB,colors[0]+pP,picker=3.,clip_on=Clip_on)
     2182                            Plot.plot(X,W,colors[2],picker=False)     #const. background
     2183                            Plot.plot(X,ZB,colors[1],picker=False)
    21852184                elif G2frame.Weight and 'PWDR' in plottype:
    21862185                    DY = xye[1]*np.sqrt(xye[2])
     
    21882187                    DZ = xye[3]*np.sqrt(xye[2])
    21892188                    DS = xye[5]*np.sqrt(xye[2])-Ymax*Pattern[0]['delOffset']
    2190                     ObsLine = Plot.plot(X,DY,colors[N%6]+pP,picker=3.,clip_on=Clip_on)         #Io/sig(Io)
    2191                     Plot.plot(X,DZ,colors[(N+1)%6],picker=False)                    #Ic/sig(Io)
    2192                     DifLine = Plot.plot(X,DS,colors[(N+3)%6],picker=1.)                    #(Io-Ic)/sig(Io)
     2189                    ObsLine = Plot.plot(X,DY,colors[0]+pP,picker=3.,clip_on=Clip_on)         #Io/sig(Io)
     2190                    Plot.plot(X,DZ,colors[1],picker=False)                    #Ic/sig(Io)
     2191                    DifLine = Plot.plot(X,DS,colors[3],picker=1.)                    #(Io-Ic)/sig(Io)
    21932192                    Plot.axhline(0.,color=wx.BLACK)
    21942193                else:
    21952194                    if G2frame.SubBack:
    21962195                        if 'PWDR' in plottype:
    2197                             Plot.plot(Xum,Y-W,colors[N%6]+pP,picker=False,clip_on=Clip_on)  #Io-Ib
    2198                             Plot.plot(X,Z-W,colors[(N+1)%6],picker=False)               #Ic-Ib
     2196                            Plot.plot(Xum,Y-W,colors[0]+pP,picker=False,clip_on=Clip_on)  #Io-Ib
     2197                            Plot.plot(X,Z-W,colors[1],picker=False)               #Ic-Ib
    21992198                        else:
    2200                             Plot.plot(X,YB,colors[N%6]+pP,picker=3.,clip_on=Clip_on)
    2201                             Plot.plot(X,ZB,colors[(N+1)%6],picker=False)
     2199                            Plot.plot(X,YB,colors[0]+pP,picker=3.,clip_on=Clip_on)
     2200                            Plot.plot(X,ZB,colors[1],picker=False)
    22022201                    else:
    22032202                        if 'PWDR' in plottype:
    2204                             ObsLine = Plot.plot(Xum,Y,colors[N%6]+pP,picker=3.,clip_on=Clip_on)    #Io
    2205                             Plot.plot(X,Z,colors[(N+1)%6],picker=False)                 #Ic
     2203                            ObsLine = Plot.plot(Xum,Y,colors[0]+pP,picker=3.,clip_on=Clip_on)    #Io
     2204                            Plot.plot(X,Z,colors[1],picker=False)                 #Ic
    22062205                        else:
    2207                             Plot.plot(X,YB,colors[N%6]+pP,picker=3.,clip_on=Clip_on)
    2208                             Plot.plot(X,ZB,colors[(N+1)%6],picker=False)
     2206                            Plot.plot(X,YB,colors[0]+pP,picker=3.,clip_on=Clip_on)
     2207                            Plot.plot(X,ZB,colors[1],picker=False)
    22092208                    if 'PWDR' in plottype:
    2210                         Plot.plot(X,W,colors[(N+2)%6],picker=False)                 #Ib
    2211                         DifLine = Plot.plot(X,D,colors[(N+3)%6],picker=1.)                 #Io-Ic
     2209                        Plot.plot(X,W,colors[2],picker=False)                 #Ib
     2210                        DifLine = Plot.plot(X,D,colors[3],picker=1.)                 #Io-Ic
    22122211                    Plot.axhline(0.,color=wx.BLACK)
    22132212                Page.canvas.SetToolTipString('')
     
    22402239                       
    22412240            else:   #not picked
     2241                icolor = 256*N/len(PlotList)
    22422242                if G2frame.logPlot:
    22432243                    if 'PWDR' in plottype:
    2244                         Plot.semilogy(X,Y,colors[N%6],picker=False,nonposy='mask')
     2244                        Plot.semilogy(X,Y,color=mcolors.cmap(icolor),picker=False,nonposy='mask')
    22452245                    elif plottype in ['SASD','REFD']:
    2246                         Plot.semilogy(X,Y,colors[N%6],picker=False,nonposy='mask')
     2246                        Plot.semilogy(X,Y,color=mcolors.cmap(icolor),picker=False,nonposy='mask')
    22472247                else:
    2248                     color = 256*N/len(PlotList)
    22492248                    if 'PWDR' in plottype:
    2250                         Plot.plot(X,Y,color=mcolors.cmap(color),picker=False)         #colors[N%6]
     2249                        Plot.plot(X,Y,color=mcolors.cmap(icolor),picker=False)
    22512250                    elif plottype in ['SASD','REFD']:
    2252                         Plot.loglog(X,Y,mcolors.cmap(color),picker=False,nonposy='mask')
     2251                        Plot.loglog(X,Y,mcolors.cmap(icolor),picker=False,nonposy='mask')
    22532252                        Plot.set_ylim(bottom=np.min(np.trim_zeros(Y))/2.,top=np.max(Y)*2.)
    22542253                           
Note: See TracChangeset for help on using the changeset viewer.