John (and others), I've made a quick change to the svg backend to cull the data, see attached patch. I haven't tested it extensively, but it seems OK. It culls both lines and polygons out of svg output.
About making it general across backends: I've looked a bit at how things
get rendered, and here is what I understand: We can only do the culling in
pixel coordinates, since the height/width of the figure is in pixel units.
The transform from unit to pixel coordinates either happens in
Line2D.draw() (such as SVG), or in the backend's draw function (such as
for agg). Therefore we could only generalize for the case where the
transform is in line2d, and even then, it looks simpler to do it in the
backend to me since that is the only place we conveniently have all the
pixel information we need. Maybe I have misunderstood, though.
Also, I noticed I forgot to comment out a degugging cout from my last agg
patch, near the end of draw_lines. Oops, sorry, you should fix that in
svn.
Allan
By the way, Here's what I used to test the svg patch, using the -dSVG switch:
import pylab
from scipy import *
pylab.plot(sin(arange(1000)*pi/100.0))
pylab.plot(rand(1000)*2, '.')
pylab.axis([300, 800, -0.5, 1])
pylab.savefig('test')
svgpatch
Description: Binary data
------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
_______________________________________________ Matplotlib-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
