Ok. Thanks for the information. That does do exactly what I would expect. I would place my vote for having this be the default behavior since this is what it means to say "go from point A to B" on a polar plot.
--James > -----Original Message----- > From: Michael Droettboom [mailto:md...@stsci.edu] > Sent: Monday, February 02, 2009 8:28 AM > To: James Evans; matplotlib development list > Subject: Re: FW: Polar Plot Design Issues > > You can get this behavior you are asking for by passing "resolution=1" > to polar. (This has been there for ages, but unfortunately wasn't > documented until recently). We can consider making 1 the default. > > There are cases in which the automatic interpolation is useful, but in > the present implementation the onus is on the user to avoid this "going > the long way" problem. > > Mike > > James Evans wrote: > > Michael, > > > > John said you were the one to go to for this one. I was wondering if you > > had any comments about the > following? > > > > --James Evans > > > > > >> All, > >> > >> While looking over the polar plot code I came across the following issue: > >> When plotting something > >> like 'polar( [2*pi/180, 358*pi/180], [2.0, 1.0] )' the plotted line will > >> actually wrap around the > >> origin of the plot before reaching its destination. Initially I thought > >> that this was correct > >> behavior. The line numerically passed through all angles between 2 and > >> 358 degrees in a linear > >> fashion. However after consulting several colleagues and text books I > >> believe that the behavior is > >> actually wrong. > >> > >> It is my understanding that for polar plots there is no linear mapping of > >> the axes as it is > currently > >> implemented. Rather for a simple two-point line defined in polar > >> coordinates, the line should > >> essentially take the direct route. This is highlighted by the two-point > >> equation of a line for > polar > >> plots: > >> > >> r = ( r1*r2*sin(t2-t1) ) / ( (r1*sin(t-t1)) - (r2*sin(t-t2)) ) > >> > >> If you were to plug in the two points given above, then increment theta > >> (t) from 2 degrees to 358 > >> degrees, then convert to Cartesian cords, and plot the results, you will > >> get the correct line that > >> directly crosses the zero degree line and not one that wraps around the > >> origin. > >> > >> Is the polar plot function implemented this way on purpose? Which way > >> should it really be > >> implemented? > >> > > > > > > -- > Michael Droettboom > Science Software Branch > Operations and Engineering Division > Space Telescope Science Institute > Operated by AURA for NASA ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel