I'm a new user of matplotlib (athough I have been using both Matlab and
Python for years).
I have an application where I need to display data as a set of filled
circles. The centre and the radius of the circles are both specified in
data coordinates. The data points have an additional scalar attribute,
which is displayed using a pseudo-colour mapping.
I've hacked something together where the circles are approximated by
polygons using either the axis fill method or the pylab fill function. I
select the colour by calling the get_rgba method of a ScalarMappable
object. In the following code snippet c is a tuple containg the x and y
coords of the centre of the circle, the radius, and a scalar "value"
theta = arange(numSegs+1) * 2.0 * math.pi / numSegs
cos_theta = cos(theta)
sin_theta = sin(theta)
for c in cart:
x = c[1] + c[3] * cos_theta
y = c[2] + c[3] * sin_theta
v = c[4]
fill(x, y, facecolor=mapper.to_rgba(v), linewidth=0.5)
It all works. However, I saw in the API documentation (and the source)
that there is a Circle object in patch. I was hoping that using this
rather than polygons would give better quality output and possibly
smaller files. Now I can instantiate it
circle = Circle((x,y), c[3], facecolor=cmapper.to_rgba(v))
but can't work out what to do with it! I've tried
ax.add_patch( circle )
and also
trans = blend_xy_sep_transform( ax.transAxes, ax.transData )
circle.set_transform( trans )
ax.add_patch( circle )
Neither work. Any ideas?
Regards,
Andrew
-------------------------------------------------------------------------
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-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users