I recommend you to use the Wedge class in matplotlib.patches. from matplotlib.patches import Wedge
# draw a wedge in the axes coordinate. (0.5, 0.5) in axes coordinate corresponds to (0,0) in polar coordinate. trans = ax.transAxes center, R = (0.5, 0.5), 0.5 twopi=360. pie1 = Wedge(center, R, 0, r1*twopi, fc="g") pie2 = Wedge(center, R, r1*twopi, r2*twopi, fc="y") pie3 = Wedge(center, R, r2*twopi, twopi, fc="r") for mypie in [pie1, pie2, pie3]: mypie.set_transform(trans) mypie.set_alpha(0.25) mypie.set_ec("none") ax.add_patch(mypie) -JJ On Thu, Feb 26, 2009 at 5:00 PM, bubye <joe.hr...@gmail.com> wrote: > > I made a little more progress, but i'm not sure i'm doing this the right way. > Suggestions? > > from pylab import * > import numpy as np > > #generate random temperature data > snp=[] > for i in range(0,65): > snp.append(np.random.randint(35,122)) > > #hide the labels. I don't want them. > rc('xtick', labelsize=0) > rc('ytick', labelsize=0) > > fig=figure(figsize=(8,8),facecolor='0.0') > > ax = fig.add_subplot(111,polar=True,frameon=False) > tempTuple=array(snp) > r = tempTuple/10 > theta = ((tempTuple*2.9508)*pi)/180 > area = r**2*(tempTuple/5.4) > colors = theta > > #this is the fancy green,yellow,red background > #it's actually a scatter plot that sits behind (zorder) > #of the rest of the scatter plots. > > #radius > r1 = 0.7 # 20% > r2 = r1 + 0.2 # 40% > > # define some sizes of the scatter marker > sizes = [55000] > x = [0] + np.cos(np.linspace(0, 2*math.pi*r1, 100)).tolist() > y = [0] + np.sin(np.linspace(0, 2*math.pi*r1, 100)).tolist() > xy1 = zip(x,y) > > x = [0] + np.cos(np.linspace(2*math.pi*r1, 2*math.pi*r2, 100)).tolist() > y = [0] + np.sin(np.linspace(2*math.pi*r1, 2*math.pi*r2, 100)).tolist() > xy2 = zip(x,y) > > x = [0] + np.cos(np.linspace(2*math.pi*r2, 2*math.pi, 100)).tolist() > y = [0] + np.sin(np.linspace(2*math.pi*r2, 2*math.pi, 100)).tolist() > xy3 = zip(x,y) > > ax.scatter([0,0,0], [0,0,0], marker=(xy1,0), s=sizes, > facecolor='green',alpha=.25,zorder=1) > ax.scatter([0,0,0], [0,0,0], marker=(xy2,0), s=sizes, facecolor='yellow' > ,alpha=.25,zorder=1) > ax.scatter([0,0,0], [0,0,0], marker=(xy3,0), s=sizes, > facecolor='red',alpha=.25,zorder=1) > ax.scatter(theta, r, c=colors, s=area,zorder=2) > ax.grid(False) > > show() > > -- > View this message in context: > http://www.nabble.com/polar-graph-tp22230232p22234721.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA > -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise > -Strategies to boost innovation and cut costs with open source participation > -Receive a $600 discount off the registration fee with the source code: SFAD > http://p.sf.net/sfu/XcvMzF8H > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users