Changeset 400 for trunk/GSASIIplot.py


Ignore:
Timestamp:
Oct 27, 2011 10:26:50 AM (10 years ago)
Author:
vondreele
Message:

new default for Vcov contour plot - RdYlGn?
faster cleanup on changing/reloading projects
cleanup data delete
implement sample parameter copy
improve Vcov plotting routine
implement plot of vcov from seq refinements

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIplot.py

    r399 r400  
    602602        ContourY = []
    603603        Nseq = 0
     604    if len(PlotList) < 2:
     605        self.Contour = False
    604606    for N,Pattern in enumerate(PlotList):
    605607        Parms = ParmList[N]
     
    13641366    Page.canvas.draw()
    13651367
    1366 def PlotCovariance(self):
    1367     Data = self.PatternTree.GetItemPyData(
    1368         G2gd.GetPatternTreeItemId(self,self.root, 'Covariance'))
     1368def PlotCovariance(self,Data={}):
     1369    if not Data:
     1370        Data = self.PatternTree.GetItemPyData(
     1371            G2gd.GetPatternTreeItemId(self,self.root, 'Covariance'))
    13691372    if not Data:
    13701373        print 'No covariance matrix available'
    13711374        return
    13721375    varyList = Data['varyList']
     1376    values = Data['variables']
    13731377    Xmax = len(varyList)
    13741378    covMatrix = Data['covMatrix']
     
    13761380    xvar = np.outer(sig,np.ones_like(sig))
    13771381    covArray = np.divide(np.divide(covMatrix,xvar),xvar.T)
     1382    title = ' for\n'+Data['title']
     1383    newAtomDict = Data['newAtomDict']
    13781384
    13791385    def OnPlotKeyPress(event):
     
    13851391            if dlg.ShowModal() == wx.ID_OK:
    13861392                sel = dlg.GetSelection()
    1387                 self.ContourColor = choice[sel]
     1393                self.VcovColor = choice[sel]
    13881394            else:
    1389                 self.ContourColor = 'Spectral'
     1395                self.VcovColor = 'RdYlGn'
    13901396            dlg.Destroy()
    13911397        PlotCovariance(self)
     
    13961402            ytics = np.where(ytics<len(varyList),ytics,-1)
    13971403            ylabs = [np.where(0<=i ,varyList[int(i)],' ') for i in ytics]
    1398 #            ylabs = [varyList[int(i)] for i in ytics[:-1]]
    13991404            imgAx.set_yticklabels(ylabs)
    14001405           
     
    14031408            ypos = int(event.ydata+.5)
    14041409            if -1 < xpos < len(varyList) and -1 < ypos < len(varyList):
    1405                 msg = '%s - %s: %5.3f'%(varyList[xpos],varyList[ypos],covArray[xpos][ypos])
     1410                if xpos == ypos:
     1411                    value = values[xpos]
     1412                    name = varyList[xpos]
     1413                    if varyList[xpos] in newAtomDict:
     1414                        name,value = newAtomDict[name]                       
     1415                    msg = '%s value = %.4g, esd = %.4g'%(name,value,sig[xpos])
     1416                else:
     1417                    msg = '%s - %s: %5.3f'%(varyList[xpos],varyList[ypos],covArray[xpos][ypos])
    14061418                Page.canvas.SetToolTipString(msg)
    14071419                self.G2plotNB.status.SetFields(['Key: s to change colors',msg])
     
    14221434    Page.SetFocus()
    14231435    self.G2plotNB.status.SetFields(['',''])   
    1424     acolor = mpl.cm.get_cmap(self.ContourColor)
     1436    acolor = mpl.cm.get_cmap(self.VcovColor)
    14251437    Img = Plot.imshow(covArray,aspect='equal',cmap=acolor,interpolation='nearest',origin='lower')
    14261438    imgAx = Img.get_axes()
     
    14291441    imgAx.set_yticklabels(ylabs)
    14301442    colorBar = Page.figure.colorbar(Img)
    1431     Plot.set_title('Variance-Covariance matrix from LS refinement')
     1443    Plot.set_title('V-Cov matrix'+title)
    14321444    Plot.set_xlabel('Variable number')
    14331445    Plot.set_ylabel('Variable name')
Note: See TracChangeset for help on using the changeset viewer.