Changeset 2579


Ignore:
Timestamp:
Dec 13, 2016 4:08:43 PM (5 years ago)
Author:
vondreele
Message:

implement file selection for multi-PDF plots
replace "type" with "plotType" on all ISFGplot calls (bad variable name choice!)

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r2577 r2579  
    23902390        self.SinglePlot = True
    23912391        self.selections= None
     2392        self.PDFselections = None
    23922393        self.SubBack = False
    23932394        self.seqReverse = False
  • trunk/GSASIIgrid.py

    r2576 r2579  
    44904490            G2frame.PatternId = item
    44914491            for i in G2frame.ExportPDF: i.Enable(True)
    4492             G2plt.PlotISFG(G2frame,type='S(Q)')
     4492            G2plt.PlotISFG(G2frame,plotType='S(Q)')
    44934493        elif G2frame.PatternTree.GetItemText(item) == 'Phases':
    44944494            G2frame.dataFrame.setSizePosLeft(defWid)
     
    44994499        data = G2frame.PatternTree.GetItemPyData(GetPatternTreeItemId(G2frame,G2frame.PatternId,'PDF Controls'))
    45004500        G2pdG.UpdatePDFGrid(G2frame,data)
    4501         G2plt.PlotISFG(G2frame,type='I(Q)',newPlot=True)
     4501        G2plt.PlotISFG(G2frame,plotType='I(Q)',newPlot=True)
    45024502    elif 'S(Q)' in G2frame.PatternTree.GetItemText(item):
    45034503        G2frame.PatternId = G2frame.PatternTree.GetItemParent(item)
    45044504        data = G2frame.PatternTree.GetItemPyData(GetPatternTreeItemId(G2frame,G2frame.PatternId,'PDF Controls'))
    45054505        G2pdG.UpdatePDFGrid(G2frame,data)
    4506         G2plt.PlotISFG(G2frame,type='S(Q)',newPlot=True)
     4506        G2plt.PlotISFG(G2frame,plotType='S(Q)',newPlot=True)
    45074507    elif 'F(Q)' in G2frame.PatternTree.GetItemText(item):
    45084508        G2frame.PatternId = G2frame.PatternTree.GetItemParent(item)
    45094509        data = G2frame.PatternTree.GetItemPyData(GetPatternTreeItemId(G2frame,G2frame.PatternId,'PDF Controls'))
    45104510        G2pdG.UpdatePDFGrid(G2frame,data)
    4511         G2plt.PlotISFG(G2frame,type='F(Q)',newPlot=True)
     4511        G2plt.PlotISFG(G2frame,plotType='F(Q)',newPlot=True)
    45124512    elif 'G(R)' in G2frame.PatternTree.GetItemText(item):
    45134513        G2frame.PatternId = G2frame.PatternTree.GetItemParent(item)
    45144514        data = G2frame.PatternTree.GetItemPyData(GetPatternTreeItemId(G2frame,G2frame.PatternId,'PDF Controls'))
    45154515        G2pdG.UpdatePDFGrid(G2frame,data)
    4516         G2plt.PlotISFG(G2frame,type='G(R)',newPlot=True)           
     4516        G2plt.PlotISFG(G2frame,plotType='G(R)',newPlot=True)           
    45174517    elif G2frame.PatternTree.GetItemText(parentID) == 'Phases':
    45184518        data = G2frame.PatternTree.GetItemPyData(item)
     
    45564556        data = G2frame.PatternTree.GetItemPyData(item)
    45574557        G2pdG.UpdatePDFGrid(G2frame,data)
    4558         G2plt.PlotISFG(G2frame,type='I(Q)')
    4559         G2plt.PlotISFG(G2frame,type='S(Q)')
    4560         G2plt.PlotISFG(G2frame,type='F(Q)')
    4561         G2plt.PlotISFG(G2frame,type='G(R)')
     4558        G2plt.PlotISFG(G2frame,plotType='I(Q)')
     4559        G2plt.PlotISFG(G2frame,plotType='S(Q)')
     4560        G2plt.PlotISFG(G2frame,plotType='F(Q)')
     4561        G2plt.PlotISFG(G2frame,plotType='G(R)')
    45624562    elif G2frame.PatternTree.GetItemText(item) == 'Peak List':
    45634563        G2frame.PatternId = G2frame.PatternTree.GetItemParent(item)
  • trunk/GSASIIplot.py

    r2578 r2579  
    13071307            newPlot = True
    13081308        elif event.key == 'f' and not G2frame.SinglePlot:
    1309             choices = G2pdG.GetHistsLikeSelected(G2frame)
     1309            choices = G2gd.GetPatternTreeDataNames(G2frame,plotType)
    13101310            dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame,'Select dataset to plot',
    13111311                'Multidata plot selection',choices)
     
    18961896        SampleList = []
    18971897        if G2frame.selections is None:
    1898             choices = G2pdG.GetHistsLikeSelected(G2frame)
     1898            choices = G2gd.GetPatternTreeDataNames(G2frame,plotType)
    18991899        else:
    19001900            choices = G2frame.selections
     
    19051905                Pattern.append(G2frame.PatternTree.GetItemText(id))
    19061906            if 'Offset' not in Pattern[0]:     #plot offset data
    1907                 print 'no Offset?'
    19081907                Ymax = max(Pattern[1][1])
    19091908                Pattern[0].update({'Offset':[0.0,0.0],'delOffset':0.02*Ymax,'refOffset':-0.1*Ymax,'refDelt':0.1*Ymax,})
     
    23382337################################################################################
    23392338           
    2340 def PlotISFG(G2frame,newPlot=False,type=''):
     2339def PlotISFG(G2frame,newPlot=False,plotType=''):
    23412340    ''' Plotting package for PDF analysis; displays I(q), S(q), F(q) and G(r) as single
    23422341    or multiple plots with waterfall and contour plots as options
    23432342    '''
    2344     if not type:
    2345         type = G2frame.G2plotNB.plotList[G2frame.G2plotNB.nb.GetSelection()]
    2346     if type not in ['I(Q)','S(Q)','F(Q)','G(R)']:
     2343    if not plotType:
     2344        plotType = G2frame.G2plotNB.plotList[G2frame.G2plotNB.nb.GetSelection()]
     2345    if plotType not in ['I(Q)','S(Q)','F(Q)','G(R)']:
    23472346        return
    23482347    superMinusOne = unichr(0xaf)+unichr(0xb9)
     
    23742373                G2frame.SinglePlot = False
    23752374                Page.Offset = [0.,0.]
     2375        elif event.key == 'f' and not G2frame.SinglePlot:
     2376            choices = G2gd.GetPatternTreeDataNames(G2frame,'PDF ')
     2377            dlg = G2G.G2MultiChoiceDialog(G2frame.dataFrame,'Select dataset to plot',
     2378                'Multidata plot selection',choices)
     2379            if dlg.ShowModal() == wx.ID_OK:
     2380                G2frame.PDFselections = []
     2381                select = dlg.GetSelections()
     2382                if select:
     2383                    for id in select:
     2384                        G2frame.PDFselections.append(choices[id])
     2385                else:
     2386                    G2frame.PDFselections = None
     2387            dlg.Destroy()
     2388            newPlot = True
    23762389        elif event.key == 's':
    23772390            if G2frame.Contour:
     
    24002413        elif event.key == 't' and not G2frame.Contour:
    24012414            G2frame.Legend = not G2frame.Legend
    2402         PlotISFG(G2frame,newPlot=newPlot,type=type)
     2415        PlotISFG(G2frame,newPlot=newPlot,plotType=plotType)
    24032416       
    24042417    def OnMotion(event):
     
    24112424                    G2frame.G2plotNB.status.SetStatusText('R =%.3fA pattern ID =%5d'%(xpos,int(ypos)),1)
    24122425                else:
    2413                     G2frame.G2plotNB.status.SetStatusText('R =%.3fA %s =%.2f'%(xpos,type,ypos),1)                   
     2426                    G2frame.G2plotNB.status.SetStatusText('R =%.3fA %s =%.2f'%(xpos,plotType,ypos),1)                   
    24142427            except TypeError:
    2415                 G2frame.G2plotNB.status.SetStatusText('Select '+type+' pattern first',1)
     2428                G2frame.G2plotNB.status.SetStatusText('Select '+plotType+' pattern first',1)
    24162429   
    24172430    xylim = []
    2418     new,plotNum,Page,Plot,lim = G2frame.G2plotNB.FindPlotTab(type,'mpl')
     2431    new,plotNum,Page,Plot,lim = G2frame.G2plotNB.FindPlotTab(plotType,'mpl')
    24192432    if not new:
    24202433        if not newPlot:
     
    24302443    if G2frame.Contour:
    24312444        Page.Choice = (' key press','d: lower contour max','u: raise contour max',
    2432             'i: interpolation method','s: color scheme','c: contour off')
     2445            'i: interpolation method','s: color scheme','c: contour off','f: select data')
    24332446    else:
    24342447        Page.Choice = (' key press','l: offset left','r: offset right','d: offset down','u: offset up',
    24352448            'o: reset offset','t: toggle legend','c: contour on',
    2436             'm: toggle multiplot','s: toggle single plot')
     2449            'm: toggle multiplot','s: toggle single plot','f: select data' )
    24372450    Page.keyPress = OnPlotKeyPress
    24382451    PatternId = G2frame.PatternId
    2439     Plot.set_title(type)
    2440     if type == 'G(R)':
     2452    Plot.set_title(plotType)
     2453    if plotType == 'G(R)':
    24412454        Plot.set_xlabel(r'$R,\AA$',fontsize=14)
    24422455    else:
    24432456        Plot.set_xlabel(r'$Q,\AA$'+superMinusOne,fontsize=14)
    2444     Plot.set_ylabel(r''+type,fontsize=14)
     2457    Plot.set_ylabel(r''+plotType,fontsize=14)
    24452458    colors=['b','g','r','c','m','k']
    24462459    name = G2frame.PatternTree.GetItemText(PatternId)[4:]
     
    24482461    if G2frame.SinglePlot:
    24492462        name = G2frame.PatternTree.GetItemText(PatternId)
    2450         name = type+name[4:]
     2463        name = plotType+name[4:]
    24512464        Id = G2gd.GetPatternTreeItemId(G2frame,PatternId,name)
    24522465        Pattern = G2frame.PatternTree.GetItemPyData(Id)
     
    24562469    else:
    24572470        PlotList = []
    2458         item, cookie = G2frame.PatternTree.GetFirstChild(G2frame.root)
    2459         while item:
    2460             if 'PDF' in G2frame.PatternTree.GetItemText(item).split()[0]:
    2461                 name = type+G2frame.PatternTree.GetItemText(item)[4:]
    2462                 Id = G2gd.GetPatternTreeItemId(G2frame,item,name)
    2463                 Pattern = G2frame.PatternTree.GetItemPyData(Id)
    2464                 if Pattern:
    2465                     Pattern.append(name)
    2466                     PlotList.append(Pattern)
    2467             item, cookie = G2frame.PatternTree.GetNextChild(G2frame.root, cookie)               
    2468                    
     2471        if G2frame.PDFselections is None:
     2472            choices = G2gd.GetPatternTreeDataNames(G2frame,'PDF ')
     2473        else:
     2474            choices = G2frame.PDFselections
     2475        for item in choices:
     2476            Pid = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,item)
     2477            name = plotType+item[4:]
     2478            Id = G2gd.GetPatternTreeItemId(G2frame,Pid,name)
     2479            Pattern = G2frame.PatternTree.GetItemPyData(Id)
     2480            if Pattern:
     2481                Pattern.append(item)
     2482                PlotList.append(Pattern)
    24692483    PDFdata = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'PDF Controls'))
    24702484    numbDen = G2pwd.GetNumDensity(PDFdata['ElList'],PDFdata['Form Vol'])
     
    25012515            else:
    25022516                Plot.plot(X,Y,colors[N%6],picker=False)
    2503             if type == 'G(R)':
     2517            if plotType == 'G(R)':
    25042518                Xb = [0.,10.]
    25052519                Yb = [0.,-40.*np.pi*numbDen]
    25062520                Plot.plot(Xb,Yb,color='k',dashes=(5,5))
    2507             elif type == 'F(Q)':
     2521            elif plotType == 'F(Q)':
    25082522                Plot.axhline(0.,color=wx.BLACK)
    2509             elif type == 'S(Q)':
     2523            elif plotType == 'S(Q)':
    25102524                Plot.axhline(1.,color=wx.BLACK)
    25112525    if G2frame.Contour and len(Pattern)>1:
  • trunk/GSASIIpwdGUI.py

    r2572 r2579  
    48724872            G2plt.PlotXY(G2frame,[XY,],Title=plot[2])
    48734873        if event is not None:
    4874             G2plt.PlotISFG(G2frame,newPlot=True,type='I(Q)')
    4875             G2plt.PlotISFG(G2frame,newPlot=True,type='S(Q)')
    4876             G2plt.PlotISFG(G2frame,newPlot=True,type='F(Q)')
    4877             G2plt.PlotISFG(G2frame,newPlot=True,type='G(R)')
     4874            G2plt.PlotISFG(G2frame,newPlot=True,plotType='I(Q)')
     4875            G2plt.PlotISFG(G2frame,newPlot=True,plotType='S(Q)')
     4876            G2plt.PlotISFG(G2frame,newPlot=True,plotType='F(Q)')
     4877            G2plt.PlotISFG(G2frame,newPlot=True,plotType='G(R)')
    48784878        else:
    48794879            G2plt.PlotISFG(G2frame,newPlot=False)
     
    48954895                Status = G2frame.dataFrame.CreateStatusBar()
    48964896                Status.SetStatusText('All PDFs computed')
    4897             G2plt.PlotISFG(G2frame,newPlot=True,type='I(Q)')
    4898             G2plt.PlotISFG(G2frame,newPlot=True,type='S(Q)')
    4899             G2plt.PlotISFG(G2frame,newPlot=True,type='F(Q)')
    4900             G2plt.PlotISFG(G2frame,newPlot=True,type='G(R)')
     4897            G2plt.PlotISFG(G2frame,newPlot=True,plotType='I(Q)')
     4898            G2plt.PlotISFG(G2frame,newPlot=True,plotType='S(Q)')
     4899            G2plt.PlotISFG(G2frame,newPlot=True,plotType='F(Q)')
     4900            G2plt.PlotISFG(G2frame,newPlot=True,plotType='G(R)')
    49014901            print ' Done calculating PDFs:'
    49024902       
Note: See TracChangeset for help on using the changeset viewer.