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 |