From: Norm P. <nj...@nj...> - 2004-12-07 14:20:01
|
Hello, I've just encountered the same situation with SVG rendering where I = repeatedly generate a changed SVG plot and only the first time does it = render properly. I traced the problem to the SVG renderer failing to = include "ClipPath" information in generated SVG files after the first = one, and fixed it in my case by changing backend_svg.RendererSVG to deal = with _clipd as self._clipd in both its __init__ method (i.e., = initialized to {}) and its _get_gc_clip_svg method (i.e., _clipd = changed to self._clipd). Just before RendererSVG is defined, _clipd is = declared as a module-scope entity, and this is the problem, so comment = it out... If anyone is interested in my modified backend_svg.py please let me know = where to send it. Regards, Norm Petterson ----- Original Message -----=20 From: Haibao Tang=20 To: mat...@li...=20 Sent: Monday, December 06, 2004 4:55 PM Subject: [Matplotlib-users] [Possible BUG:] SVG renderer; Hi, I've run into a problem using matplotlib renderer to generate = files. My example is huge, so I implement it in another way to give the = idea. - o - o - o - o - o - o - o - o - o - o - o - o - o - o=20 from matplotlib.matlab import * def draw_box(i): root =3D axes([0,0,1,1]) root.bar(.2,.5,.5,.2) root.text(.2, .1, "Give me a box %02i"%i) xlim(0,1) ylim(0,1) savefig("c:\\svg\\%02i.svg"%i) for i in xrange(1,10): clf() draw_box(i) - o - o - o - o - o - o - o - o - o - o - o - o - o - o=20 The resulting files are generated, yet except the first one, all the = rest miss the bar(); BUT, if I change the format to .png, no problem exists. Is it a bug? or am I doing it right? Much appreciated if you can point the problem out. Bao |