Changeset 1672


Ignore:
Timestamp:
Feb 26, 2015 3:02:57 PM (7 years ago)
Author:
vondreele
Message:

remove Offset, qPlot, etc from G2frame and put them in data[0] dict for each powder pattern. Thus, each pattern can have different positions for tic marks, diff curve, etc. Some can be qPlot and other 2-theta. Setting are saved if project is saved

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r1657 r1672  
    20872087        self.undofile = ''
    20882088        self.TreeItemDelete = False
    2089         self.Offset = [0.0,0.0]
    2090         self.delOffset = .02
    2091         self.refOffset = -1.0
    2092         self.refDelt = .01
     2089#        self.Offset = [0.0,0.0]
     2090#        self.delOffset = .02
     2091#        self.refOffset = -1.0
     2092#        self.refDelt = .01
    20932093        self.Weight = False
    2094         self.IparmName = ''  # to be removed when SelectPowderData & GetInstrumentFile is
    20952094        self.IfPlot = False
    20962095        self.DDShowAll = False
     
    20992098        self.PeakTable = []
    21002099        self.LimitsTable = []
    2101         self.ifX20 = True   #use M20 /= (1+X20)
     2100        self.ifX20 = True   #use M20 /= (1+X20) in powder indexing, etc.
    21022101        self.HKL = []
    21032102        self.Lines = []
     
    21102109        self.Projection = 'equal area'
    21112110        self.logPlot = False
    2112         self.qPlot = False
    2113         self.dPlot = False
    21142111        self.sqPlot = False
    2115         self.SqrtPlot = False
    21162112        self.ErrorBars = False
    21172113        self.Contour = False
     
    25772573                            'Dummy':False,
    25782574                            'ranId':ran.randint(0,sys.maxint),
     2575                            'Offset':[0.0,0.0],'delOffset':0.02,'refOffset':-1.0,'refDelt':0.01,
     2576                            'qPlot':False,'dPlot':False,'sqrtPlot':False
    25792577                            }
    25802578                        self.PatternTree.SetItemPyData(Id,[valuesdict,[np.array(Xsum),np.array(Ysum),np.array(Wsum),
  • trunk/GSASIIplot.py

    r1669 r1672  
    951951    global Ymax
    952952    plottype = plotType
    953    
     953#patch
     954    data = G2frame.PatternTree.GetItemPyData(G2frame.PatternId)
     955    if 'Offset' not in data[0] and plotType in ['PWDR','SASD']:     #plot offset data
     956        data[0].update({'Offset':[0.0,0.0],'delOffset':0.02,'refOffset':-1.0,
     957            'refDelt':0.01,'qPlot':False,'dPlot':False,'sqrtPlot':False})
     958        G2frame.PatternTree.SetItemPyData(G2frame.PickId,data)
     959#end patch
    954960    def OnPlotKeyPress(event):
    955961        try:        #one way to check if key stroke will work on plot
     
    976982                G2frame.logPlot = not G2frame.logPlot
    977983                if not G2frame.logPlot:
    978                     G2frame.Offset[0] = 0
     984                    Pattern[0]['Offset'][0] = 0
    979985                newPlot = True
    980986        elif event.key == 's' and 'PWDR' in plottype:
     
    990996                dlg.Destroy()
    991997            elif G2frame.SinglePlot:
    992                 G2frame.SqrtPlot = not G2frame.SqrtPlot
    993                 if G2frame.SqrtPlot:
    994                     G2frame.delOffset = .002
    995                     G2frame.refOffset = -1.0
    996                     G2frame.refDelt = .001
     998                Pattern[0]['sqrtPlot'] = not Pattern[0]['sqrtPlot']
     999                if Pattern[0]['sqrtPlot']:
     1000                    Pattern[0]['delOffset'] = .002
     1001                    Pattern[0]['refOffset'] = -1.0
     1002                    Pattern[0]['refDelt'] = .001
    9971003                else:
    998                     G2frame.delOffset = .02
    999                     G2frame.refOffset = -1.0
    1000                     G2frame.refDelt = .01
     1004                    Pattern[0]['delOffset'] = .02
     1005                    Pattern[0]['refOffset'] = -1.0
     1006                    Pattern[0]['refDelt'] = .01
    10011007            newPlot = True
    10021008        elif event.key == 'u' and (G2frame.Contour or not G2frame.SinglePlot):
    10031009            if G2frame.Contour:
    10041010                G2frame.Cmax = min(1.0,G2frame.Cmax*1.2)
    1005             elif G2frame.Offset[0] < 100.:
    1006                 G2frame.Offset[0] += 1.
     1011            elif Pattern[0]['Offset'][0] < 100.:
     1012                Pattern[0]['Offset'][0] += 1.
    10071013        elif event.key == 'd' and (G2frame.Contour or not G2frame.SinglePlot):
    10081014            if G2frame.Contour:
    10091015                G2frame.Cmax = max(0.0,G2frame.Cmax*0.8)
    1010             elif G2frame.Offset[0] > 0.:
    1011                 G2frame.Offset[0] -= 1.
     1016            elif Pattern[0]['Offset'][0] > 0.:
     1017                Pattern[0]['Offset'][0] -= 1.
    10121018        elif event.key == 'l' and not G2frame.SinglePlot:
    1013             G2frame.Offset[1] -= 1.
     1019            Pattern[0]['Offset'][1] -= 1.
    10141020        elif event.key == 'r' and not G2frame.SinglePlot:
    1015             G2frame.Offset[1] += 1.
     1021            Pattern[0]['Offset'][1] += 1.
    10161022        elif event.key == 'o' and not G2frame.SinglePlot:
    10171023            G2frame.Cmax = 1.0
    1018             G2frame.Offset = [0,0]
     1024            Pattern[0]['Offset'] = [0,0]
    10191025        elif event.key == 'c' and 'PWDR' in plottype:
    10201026            newPlot = True
    10211027            if not G2frame.Contour:
    10221028                G2frame.SinglePlot = False
    1023                 G2frame.Offset = [0.,0.]
     1029                Pattern[0]['Offset'] = [0.,0.]
    10241030            else:
    10251031                G2frame.SinglePlot = True               
     
    10281034            if 'PWDR' in plottype:
    10291035                newPlot = True
    1030                 G2frame.qPlot = not G2frame.qPlot
    1031                 G2frame.dPlot = False
     1036                Pattern[0]['qPlot'] = not Pattern[0]['qPlot']
     1037                Pattern[0]['dPlot'] = False
    10321038            elif 'SASD' in plottype:
    10331039                newPlot = True
    10341040                G2frame.sqPlot = not G2frame.sqPlot
    10351041        elif event.key == 't' and 'PWDR' in plottype:
    1036             G2frame.dPlot = not G2frame.dPlot
    1037             G2frame.qPlot = False
     1042            Pattern[0]['dPlot'] = not Pattern[0]['dPlot']
     1043            Pattern[0]['qPlot'] = False
    10381044            newPlot = True     
    10391045        elif event.key == 'm':
    1040             G2frame.SqrtPlot = False
     1046            Pattern[0]['sqrtPlot'] = False
    10411047            G2frame.SinglePlot = not G2frame.SinglePlot               
    10421048            newPlot = True
     
    10681074            try:
    10691075                Parms,Parms2 = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))
    1070                 if G2frame.qPlot and 'PWDR' in plottype:
     1076                if Pattern[0]['qPlot'] and 'PWDR' in plottype:
    10711077                    q = xpos
    10721078                    dsp = 2.*np.pi/q
     
    10781084                    q = xpos
    10791085                    dsp = 2.*np.pi/q
    1080                 elif G2frame.dPlot:
     1086                elif Pattern[0]['dPlot']:
    10811087                    dsp = xpos
    10821088                    q = 2.*np.pi/dsp
     
    10971103                    if 'C' in Parms['Type'][0]:
    10981104                        if 'PWDR' in plottype:
    1099                             if G2frame.SqrtPlot:
     1105                            if Pattern[0]['sqrtPlot']:
    11001106                                G2frame.G2plotNB.status.SetStatusText('2-theta =%9.3f d =%9.5f q = %9.5f sqrt(Intensity) =%9.2f'%(xpos,dsp,q,ypos),1)
    11011107                            else:
     
    11041110                            G2frame.G2plotNB.status.SetStatusText('q =%12.5g Intensity =%12.5g d =%9.1f'%(q,ypos,dsp),1)
    11051111                    else:
    1106                         if G2frame.SqrtPlot:
     1112                        if Pattern[0]['sqrtPlot']:
    11071113                            G2frame.G2plotNB.status.SetStatusText('TOF =%9.3f d =%9.5f q =%9.5f sqrt(Intensity) =%9.2f'%(xpos,dsp,q,ypos),1)
    11081114                        else:
     
    11551161            if ind.all() != [0] and ObsLine[0].get_label() in str(pick):                                    #picked a data point
    11561162                data = G2frame.PatternTree.GetItemPyData(G2frame.PickId)
    1157                 if G2frame.qPlot:                              #qplot - convert back to 2-theta
     1163                if Pattern[0]['qPlot']:                              #qplot - convert back to 2-theta
    11581164                    xy[0] = G2lat.Dsp2pos(Parms,2*np.pi/xy[0])
    1159                 elif G2frame.dPlot:                            #dplot - convert back to 2-theta
     1165                elif Pattern[0]['dPlot']:                            #dplot - convert back to 2-theta
    11601166                    xy[0] = G2lat.Dsp2pos(Parms,xy[0])
    11611167                XY = G2mth.setPeakparms(Parms,Parms2,xy[0],xy[1])
     
    11701176                LimitId = G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Limits')
    11711177                data = G2frame.PatternTree.GetItemPyData(LimitId)
    1172                 if G2frame.qPlot:                              #qplot - convert back to 2-theta
     1178                if Pattern[0]['qPlot']:                              #qplot - convert back to 2-theta
    11731179                    xy[0] = G2lat.Dsp2pos(Parms,2*np.pi/xy[0])
    1174                 elif G2frame.dPlot:                            #dplot - convert back to 2-theta
     1180                elif Pattern[0]['dPlot']:                            #dplot - convert back to 2-theta
    11751181                    xy[0] = G2lat.Dsp2pos(Parms,xy[0])
    11761182                if G2frame.ifGetExclude:
     
    12091215    def OnRelease(event):
    12101216        if G2frame.itemPicked is None: return
     1217        PickId = G2frame.PickId
    12111218        if str(DifLine[0]) == str(G2frame.itemPicked):
     1219            data = G2frame.PatternTree.GetItemPyData(PickId)
    12121220            ypos = event.ydata
    1213             G2frame.delOffset = -ypos/Ymax
     1221            data[0]['delOffset'] = -ypos/Ymax
    12141222            G2frame.itemPicked = None
     1223            G2frame.PatternTree.SetItemPyData(PickId,data)
    12151224            PlotPatterns(G2frame,plotType=plottype)
    12161225            return
    12171226        Parms,Parms2 = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))
    12181227        xpos = event.xdata
    1219         PickId = G2frame.PickId
    12201228        if G2frame.PatternTree.GetItemText(PickId) in ['Peak List','Limits'] and xpos:
    12211229            lines = []
     
    12311239                id = lineNo/2+1
    12321240                id2 = lineNo%2
    1233                 if G2frame.qPlot and 'PWDR' in plottype:
     1241                if Pattern[0]['qPlot'] and 'PWDR' in plottype:
    12341242                    data[id][id2] = G2lat.Dsp2pos(Parms,2.*np.pi/xpos)
    1235                 elif G2frame.dPlot and 'PWDR' in plottype:
     1243                elif Pattern[0]['dPlot'] and 'PWDR' in plottype:
    12361244                    data[id][id2] = G2lat.Dsp2pos(Parms,xpos)
    12371245                else:
     
    12501258                    del data['peaks'][lineNo-2]
    12511259                else:
    1252                     if G2frame.qPlot:
     1260                    if Pattern[0]['qPlot']:
    12531261                        data['peaks'][lineNo-2][0] = G2lat.Dsp2pos(Parms,2.*np.pi/xpos)
    1254                     elif G2frame.dPlot:
     1262                    elif Pattern[0]['dPlot']:
    12551263                        data['peaks'][lineNo-2][0] = G2lat.Dsp2pos(Parms,xpos)
    12561264                    else:
     
    12791287            pick = str(G2frame.itemPicked).split('(')[1].strip(')')
    12801288            if 'line' not in pick:       #avoid data points, etc.
     1289                data = G2frame.PatternTree.GetItemPyData(PickId)
    12811290                num = Phases.keys().index(pick)
    12821291                if num:
    1283                     G2frame.refDelt = -(event.ydata-G2frame.refOffset)/(num*Ymax)
     1292                    data[0]['refDelt'] = -(event.ydata-Pattern[0]['refOffset'])/(num*Ymax)
    12841293                else:       #1st row of refl ticks
    1285                     G2frame.refOffset = event.ydata
     1294                    data[0]['refOffset'] = event.ydata
     1295                G2frame.PatternTree.SetItemPyData(PickId,data)
    12861296        PlotPatterns(G2frame,plotType=plottype)
    12871297        G2frame.itemPicked = None   
     
    14141424        Ymax = max(Ymax,max(xye[1]))
    14151425    if Ymax is None: return # nothing to plot
    1416     offset = G2frame.Offset[0]*Ymax/100.0
     1426    offset = Pattern[0]['Offset'][0]*Ymax/100.0
    14171427    if G2frame.logPlot:
    14181428        Title = 'log('+Title+')'
    14191429    Plot.set_title(Title)
    1420     if G2frame.qPlot or 'SASD' in plottype and not G2frame.Contour:
     1430    if Pattern[0]['qPlot'] or 'SASD' in plottype and not G2frame.Contour:
    14211431        Plot.set_xlabel(r'$Q, \AA^{-1}$',fontsize=16)
    1422     elif G2frame.dPlot and 'PWDR' in plottype and not G2frame.Contour:
     1432    elif Pattern[0]['dPlot'] and 'PWDR' in plottype and not G2frame.Contour:
    14231433        Plot.set_xlabel(r'$d, \AA$',fontsize=16)
    14241434    else:
     
    14381448        if 'C' in ParmList[0]['Type'][0]:
    14391449            if 'PWDR' in plottype:
    1440                 if G2frame.SqrtPlot:
     1450                if Pattern[0]['sqrtPlot']:
    14411451                    Plot.set_ylabel(r'$\sqrt{Intensity}$',fontsize=16)
    14421452                else:
     
    14481458                    Plot.set_ylabel(r'$Intensity, cm^{-1}$',fontsize=16)
    14491459        else:
    1450             if G2frame.SqrtPlot:
     1460            if Pattern[0]['sqrtPlot']:
    14511461                Plot.set_ylabel(r'$\sqrt{Normalized\ intensity}$',fontsize=16)
    14521462            else:
     
    14751485            for excl in excls:
    14761486                xye[0] = ma.masked_inside(xye[0],excl[0],excl[1])
    1477         if G2frame.qPlot and 'PWDR' in plottype:
     1487        if Pattern[0]['qPlot'] and 'PWDR' in plottype:
    14781488            Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root, Pattern[2])
    14791489            X = 2.*np.pi/G2lat.Pos2dsp(Parms,xye[0])
    1480         elif G2frame.dPlot and 'PWDR' in plottype:
     1490        elif Pattern[0]['dPlot'] and 'PWDR' in plottype:
    14811491            Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root, Pattern[2])
    14821492            X = G2lat.Pos2dsp(Parms,xye[0])
     
    14861496            lenX = len(X)
    14871497        if 'PWDR' in plottype:
    1488             if G2frame.SqrtPlot:
     1498            if Pattern[0]['sqrtPlot']:
    14891499                olderr = np.seterr(invalid='ignore') #get around sqrt(-ve) error
    14901500                Y = np.where(xye[1]>=0.,np.sqrt(xye[1]),-np.sqrt(-xye[1]))
     
    14951505            B = xye[5]
    14961506            if G2frame.sqPlot:
    1497                 Y = xye[1]*Sample['Scale'][0]*(1.05)**(G2frame.Offset[0]*N)*X**4
     1507                Y = xye[1]*Sample['Scale'][0]*(1.05)**(Pattern[0]['Offset'][0]*N)*X**4
    14981508            else:
    1499                 Y = xye[1]*Sample['Scale'][0]*(1.05)**(G2frame.Offset[0]*N)
     1509                Y = xye[1]*Sample['Scale'][0]*(1.05)**(Pattern[0]['Offset'][0]*N)
    15001510        if LimitId and ifpicked:
    15011511            limits = np.array(G2frame.PatternTree.GetItemPyData(LimitId))
    15021512            lims = limits[1]
    1503             if G2frame.qPlot and 'PWDR' in plottype:
     1513            if Pattern[0]['qPlot'] and 'PWDR' in plottype:
    15041514                lims = 2.*np.pi/G2lat.Pos2dsp(Parms,lims)
    1505             elif G2frame.dPlot and 'PWDR' in plottype:
     1515            elif Pattern[0]['dPlot'] and 'PWDR' in plottype:
    15061516                lims = G2lat.Pos2dsp(Parms,lims)
    15071517            Lines.append(Plot.axvline(lims[0],color='g',dashes=(5,5),picker=3.))   
     
    15231533        else:
    15241534            if 'SASD' in plottype and G2frame.logPlot:
    1525                 X *= (1.01)**(G2frame.Offset[1]*N)
     1535                X *= (1.01)**(Pattern[0]['Offset'][1]*N)
    15261536            else:
    1527                 X += G2frame.Offset[1]*.005*N
     1537                X += Pattern[0]['Offset'][1]*.005*N
    15281538            Xum = ma.getdata(X)
    15291539            DifLine = ['']
    15301540            if ifpicked:
    1531                 if G2frame.SqrtPlot:
     1541                if Pattern[0]['sqrtPlot']:
    15321542                    olderr = np.seterr(invalid='ignore') #get around sqrt(-ve) error
    15331543                    Z = np.where(xye[3]>=0.,np.sqrt(xye[3]),-np.sqrt(-xye[3]))
     
    15361546                    Z = xye[3]+offset*N
    15371547                if 'PWDR' in plottype:
    1538                     if G2frame.SqrtPlot:
     1548                    if Pattern[0]['sqrtPlot']:
    15391549                        olderr = np.seterr(invalid='ignore') #get around sqrt(-ve) error
    15401550                        W = np.where(xye[4]>=0.,np.sqrt(xye[4]),-np.sqrt(-xye[4]))
    15411551                        np.seterr(invalid=olderr['invalid'])
    1542                         D = np.where(xye[5],(Y-Z),0.)-Ymax*G2frame.delOffset
     1552                        D = np.where(xye[5],(Y-Z),0.)-Ymax*Pattern[0]['delOffset']
    15431553                    else:
    15441554                        W = xye[4]+offset*N
    1545                         D = xye[5]-Ymax*G2frame.delOffset  #powder background
     1555                        D = xye[5]-Ymax*Pattern[0]['delOffset']  #powder background
    15461556                elif 'SASD' in plottype:
    15471557                    if G2frame.sqPlot:
     
    15951605                    Ymax = max(DY)
    15961606                    DZ = xye[3]*np.sqrt(xye[2])
    1597                     DS = xye[5]*np.sqrt(xye[2])-Ymax*G2frame.delOffset
     1607                    DS = xye[5]*np.sqrt(xye[2])-Ymax*Pattern[0]['delOffset']
    15981608                    ObsLine = Plot.plot(X,DY,colors[N%6]+'+',picker=3.,clip_on=False)         #Io/sig(Io)
    15991609                    Plot.plot(X,DZ,colors[(N+1)%6],picker=False)                    #Ic/sig(Io)
     
    16251635                    data = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'))
    16261636                    for item in data['peaks']:
    1627                         if G2frame.qPlot:
     1637                        if Pattern[0]['qPlot']:
    16281638                            Lines.append(Plot.axvline(2.*np.pi/G2lat.Pos2dsp(Parms,item[0]),color=colors[N%6],picker=2.))
    1629                         elif G2frame.dPlot:
     1639                        elif Pattern[0]['dPlot']:
    16301640                            Lines.append(Plot.axvline(G2lat.Pos2dsp(Parms,item[0]),color=colors[N%6],picker=2.))
    16311641                        else:
     
    16581668            for peak in peaks[0]:
    16591669                if peak[2]:
    1660                     if G2frame.qPlot:
     1670                    if Pattern[0]['qPlot']:
    16611671                        Plot.axvline(2.*np.pi/G2lat.Pos2dsp(Parms,peak[0]),color='b')
    1662                     if G2frame.dPlot:
     1672                    if Pattern[0]['dPlot']:
    16631673                        Plot.axvline(G2lat.Pos2dsp(Parms,peak[0]),color='b')
    16641674                    else:
     
    16681678                if len(hkl) > 6 and hkl[3]:
    16691679                    clr = 'g'
    1670                 if G2frame.qPlot:
     1680                if Pattern[0]['qPlot']:
    16711681                    Plot.axvline(2.*np.pi/G2lat.Pos2dsp(Parms,hkl[-2]),color=clr,dashes=(5,5))
    1672                 if G2frame.dPlot:
     1682                if Pattern[0]['dPlot']:
    16731683                    Plot.axvline(G2lat.Pos2dsp(Parms,hkl[-2]),color=clr,dashes=(5,5))
    16741684                else:
     
    16891699                else:
    16901700                    peak = np.array([[peak[4],peak[5]] for peak in peaks])
    1691                 pos = G2frame.refOffset-pId*Ymax*G2frame.refDelt*np.ones_like(peak)
    1692                 if G2frame.qPlot:
     1701                pos = Pattern[0]['refOffset']-pId*Ymax*Pattern[0]['refDelt']*np.ones_like(peak)
     1702                if Pattern[0]['qPlot']:
    16931703                    Plot.plot(2*np.pi/peak.T[0],pos,refColors[pId%6]+'|',mew=1,ms=8,picker=3.,label=phase)
    1694                 elif G2frame.dPlot:
     1704                elif Pattern[0]['dPlot']:
    16951705                    Plot.plot(peak.T[0],pos,refColors[pId%6]+'|',mew=1,ms=8,picker=3.,label=phase)
    16961706                else:
     
    17991809            if G2frame.Contour:
    18001810                G2frame.Cmax = min(1.0,G2frame.Cmax*1.2)
    1801             elif G2frame.Offset[0] < 100.:
    1802                 G2frame.Offset[0] += 1.
     1811            elif Pattern[0]['Offset'][0] < 100.:
     1812                Pattern[0]['Offset'][0] += 1.
    18031813        elif event.key == 'd':
    18041814            if G2frame.Contour:
    18051815                G2frame.Cmax = max(0.0,G2frame.Cmax*0.8)
    1806             elif G2frame.Offset[0] > 0.:
    1807                 G2frame.Offset[0] -= 1.
     1816            elif Pattern[0]['Offset'][0] > 0.:
     1817                Pattern[0]['Offset'][0] -= 1.
    18081818        elif event.key == 'l':
    1809             G2frame.Offset[1] -= 1.
     1819            Pattern[0]['Offset'][1] -= 1.
    18101820        elif event.key == 'r':
    1811             G2frame.Offset[1] += 1.
     1821            Pattern[0]['Offset'][1] += 1.
    18121822        elif event.key == 'o':
    1813             G2frame.Offset = [0,0]
     1823            Pattern[0]['Offset'] = [0,0]
    18141824        elif event.key == 'c':
    18151825            newPlot = True
     
    18171827            if not G2frame.Contour:
    18181828                G2frame.SinglePlot = False
    1819                 G2frame.Offset = [0.,0.]
     1829                Pattern[0]['Offset'] = [0.,0.]
    18201830        elif event.key == 's':
    18211831            if G2frame.Contour:
     
    19361946            return
    19371947        Ymax = max(Ymax,max(xye[1]))
    1938     offset = G2frame.Offset[0]*Ymax/100.0
     1948    offset = Pattern[0]['Offset'][0]*Ymax/100.0
    19391949    if G2frame.Contour:
    19401950        ContourZ = []
     
    19571967                Plot.set_ylabel('Data sequence',fontsize=12)
    19581968        else:
    1959             X = xye[0]+G2frame.Offset[1]*.005*N
     1969            X = xye[0]+Pattern[0]['Offset'][1]*.005*N
    19601970            if ifpicked:
    19611971                Plot.plot(X,Y,colors[N%6]+'+',picker=3.,clip_on=False)
Note: See TracChangeset for help on using the changeset viewer.