Hi ,
On Thu, Aug 26, 2010 at 05:47, dcarroll <spanishcastlema...@gmail.com> wrote: > > I am trying make a plot that is in a loop and replots when new data is > updated. > > #IN A LOOP > > fig = plt.figure(1,[10,10]) > fig.clf > > prop = matplotlib.font_manager.FontProperties(size=8) > > xMin = dates[1] > xMax = dates[-1] > > #temperature plot > yMin = min(temperatureSQLData) > yMax = max(temperatureSQLData) > > minTemperature = "Min = %.3f " % min(temperatureSQLData) + 'deg ' + 'C' > minTemperatureIndex = temperatureSQLData.index(yMin) > > maxTemperature = "Max = %.3f " % max(temperatureSQLData) + 'deg ' + 'C' > maxTemperatureIndex = temperatureSQLData.index(yMax) > > ax1 = fig.add_subplot(511) > ax1.cla > > plt.hold(True) > plt.plot(dates,temperatureSQLData,'r') > plt.plot(dates[minTemperatureIndex],yMin,'ro',label=minTemperature) > plt.plot(dates[maxTemperatureIndex],yMax,'bo',label=maxTemperature) > plt.hold(False) > > plt.title("Water Conditions for the last 7 Days.") > > plt.xlim([xMin,xMax]) > plt.ylim([yMin-1,yMax+1]) > plt.ylabel('Temperature') > ax1.legend(numpoints=1,prop=prop) > > dateFormat = mpl.dates.DateFormatter('%m/%d/%Y') > ax1.xaxis.set_major_formatter(dateFormat) > daysLocation = mpl.dates.DayLocator() > ax1.xaxis.set_major_locator(daysLocation) > hoursLocation = mpl.dates.HourLocator(interval=4) > ax1.xaxis.set_minor_locator(hoursLocation) > > The problem is that the number of items in my legend grows with each > iteration of the loop. Any help would be appreciated! You can select yourself what you want to include in the legend by creating the legend as follows: ************************************** legendEntries=[] # list of plots that are going to be in the legend legendText=[] # list of text messages for the legend thisPlot = plot(x,y,'b*') # a plot command legendEntries.append(thisPlot) # only do this for the plots you want to add to the legend legendText.append("legend text") # only this for the plots you want to add to the legend lgd = legend(legendEntries,legendText,numpoints=1,prop=props,loc='upper right') # example of how to draw the legend ************************************** so you could clean the legendEntries and legendText at the beginning of every loop by calling legendEntries=[] legendText=[] Or if the legend is every time the same you can only create it in the first iteration of the loop and then do not change the legendEntries or legendtext any more. Tinne ------------------------------------------------------------------------------ Sell apps to millions through the Intel(R) Atom(Tm) Developer Program Be part of this innovative community and reach millions of netbook users worldwide. Take advantage of special opportunities to increase revenue and speed time-to-market. Join now, and jumpstart your future. http://p.sf.net/sfu/intel-atom-d2d _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users