I can't reproduce this here with SVN trunk. I get what you expect. Can you provide the information outlined here:
http://matplotlib.sourceforge.net/faq/troubleshooting_faq.html#report-a-problem as well as the backend you are using? Cheers, Mike Thomas Pfaff wrote: > Hello, > > I'm having a problem reusing a figure with the savefig command. > I want to generate image timeseries with GoogleEarth displaying weather > radar data, so my plot geometry is the same always and only the color of the > patches which represent measurements changes over time. > Now I want those portions of the image, where no precipitation occurs to be > transparent so I was thinking about setting the visibility of those Polygons > to False and that would be it. > > Unfortunately savefig seems to reuse the image it created before when called > a second time. > > I wrote this example code. > > ########################## > #start > #set some image parameters > figsize = (1.,1.) > dpi = 300 > rect = [0.,0.,1.,1.] > #get figure and axes objects > fig = plt.figure(figsize=figsize, dpi=dpi, frameon=False) > ax = fig.add_axes(rect, frameon=False) > ax.set_aspect(1.0) > > #create two polygons, one filling the left half of the image > # one the right half > poly1 = Polygon(([0,0],[0.5,0],[0.5,1],[0,1],[0,0]), fill=True) > ax.add_patch(poly1) > poly2 = Polygon(([0.5,0],[1,0],[1,1],[0.5,1],[0.5,0]), fill=True) > ax.add_patch(poly2) > > # basic colors black, red, green, blue > colors=['#000000','#ff0000','#00ff00','#0000ff'] > # switch for the left polygon > values =[-1, 1, -1, 1] > for value, color in zip(values, colors): > if value < 0: > poly1.set_visible(False) > else: > poly1.set_visible(True) > poly1.set_facecolor(color) > poly2.set_facecolor(color) > > plt.savefig('test'+color[1:]+'.png',dpi=dpi,format='png',transparent=True) > # end > ########################## > > > Now, what I expect and what I get is: > > Test000000.png: black on the right side, transparent with tick marks on the > left - this is what I get. > > Testff0000.png: red on both sides with tick marks visible - This is what I > get. > > Test00ff00.png: green on the right side, transparent on the left. What I get > is green on the right and red on the left. So the red from the previous > patch has been retained > > Test0000ff.png: blue on both sides, which is what I get as well. > > > So apparently the plot is updated, but only in places where something is > actually drawn. The rest remains unchanged and so transparency is not > restored. > > I tried using clf, cla, deleting objects. In all cases savefig just always > produced the first image over and over, most probably because nothing new > was drawn. > > I even tried to remove fig's canvas object, hoping that the library might > create a new one, but that only gave me a traceback. > > > Any ideas what I'm doing wrong or how I could solve this problem? > > Thank you very much in advance, > > > Thomas > > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users