How to plot straight lines on polar plots

Hi,

Im having some trouble with this "seemingly" simple task of plotting
straight lines/fitted curves on a polar plot.

I am trying to create a plot that resembles the layout of the chart seen
below:

http://www.nabble.com/file/p21721073/brisbane.png

So far I have only been able to plot data like so:

http://www.nabble.com/file/p21721073/AzvAlt.png

The blue line should be similar to the bottom line of the first example
plot. The line would ultimately be formed by fitting a straight line/curve
through the points, instead of the way matplotlib is plotting.

I am plotting tuples of values (az and alt), and plotting using:

ax.plot(az, alt, 'b')

···

--
View this message in context: http://www.nabble.com/How-to-plot-straight-lines-on-polar-plots-tp21721073p21721073.html
Sent from the matplotlib - users mailing list archive at Nabble.com.

I don't see any elegant way to do that.

The easiest way I can think of is to use a derived line2d class.
Something like below will work. Others may have better ideas.

import matplotlib.lines

class Line2DNoInterpolation(matplotlib.lines.Line2D):

    def recache(self):
        matplotlib.lines.Line2D.recache(self)
        self._transformed_path.get_transformed_path_and_affine = \
               self._transformed_path.get_transformed_points_and_affine

ax = subplot(111, projection="polar")

r = np.arange(0, 1.0, 0.1)
theta = 2*np.pi*r

p2 = Line2DNoInterpolation(theta, r, color='r', lw=1)
ax.add_line(p2)

-JJ

···

On Thu, Jan 29, 2009 at 12:20 AM, jamesf0 <jamesf0@...2472...> wrote:

Hi,

Im having some trouble with this "seemingly" simple task of plotting
straight lines/fitted curves on a polar plot.

I am trying to create a plot that resembles the layout of the chart seen
below:

http://www.nabble.com/file/p21721073/brisbane.png

So far I have only been able to plot data like so:

http://www.nabble.com/file/p21721073/AzvAlt.png

The blue line should be similar to the bottom line of the first example
plot. The line would ultimately be formed by fitting a straight line/curve
through the points, instead of the way matplotlib is plotting.

I am plotting tuples of values (az and alt), and plotting using:

ax.plot(az, alt, 'b')
--
View this message in context: http://www.nabble.com/How-to-plot-straight-lines-on-polar-plots-tp21721073p21721073.html
Sent from the matplotlib - users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options

I'm embarrassed to see that I neglected to document this, but you can pass a "resolution" keyword argument to add_axes which sets the number of points of interpolation between each pair of data points. Set this to 1 to disable interpolation.

This will be documented shortly.

Mike

jamesf0 wrote:

···

Hi,

Im having some trouble with this "seemingly" simple task of plotting
straight lines/fitted curves on a polar plot.

I am trying to create a plot that resembles the layout of the chart seen
below:

http://www.nabble.com/file/p21721073/brisbane.png

So far I have only been able to plot data like so:

http://www.nabble.com/file/p21721073/AzvAlt.png

The blue line should be similar to the bottom line of the first example
plot. The line would ultimately be formed by fitting a straight line/curve
through the points, instead of the way matplotlib is plotting.

I am plotting tuples of values (az and alt), and plotting using:

ax.plot(az, alt, 'b')
  
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

Thanks for the help, but I can't quite see where to add the add_axes code.
Here is the code I have been using to plot, the polar plot is a subplot.

fig=figure()
ax=fig.add_subplot(111, polar=True)
ax.set_xticklabels(["E",45,"N",315,"W",225,"S",135])
ax.set_yticklabels([80,70,60,50,40,30,20,10])

...

ax.plot(az, alt, 'b')
fig.savefig('AzvAlt.png')
show()

Michael Droettboom-3 wrote:

···

I'm embarrassed to see that I neglected to document this, but you can
pass a "resolution" keyword argument to add_axes which sets the number
of points of interpolation between each pair of data points. Set this
to 1 to disable interpolation.

This will be documented shortly.

Mike

jamesf0 wrote:

Hi,

Im having some trouble with this "seemingly" simple task of plotting
straight lines/fitted curves on a polar plot.

I am trying to create a plot that resembles the layout of the chart seen
below:

http://www.nabble.com/file/p21721073/brisbane.png

So far I have only been able to plot data like so:

http://www.nabble.com/file/p21721073/AzvAlt.png

The blue line should be similar to the bottom line of the first example
plot. The line would ultimately be formed by fitting a straight
line/curve
through the points, instead of the way matplotlib is plotting.

I am plotting tuples of values (az and alt), and plotting using:

ax.plot(az, alt, 'b')
  
--
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-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options

--
View this message in context: http://www.nabble.com/How-to-plot-straight-lines-on-polar-plots-tp21721073p21737964.html
Sent from the matplotlib - users mailing list archive at Nabble.com.

Hello,

I am trying to create a plot that resembles the layout of the chart seen
below:

http://www.nabble.com/file/p21721073/brisbane.png

are you actually trying to plot sun path digrams?

May you share a part of your code once it is completed?

I'd be very interested in seeing a working example.

Kind regards,
Timme

Yeah "trying" to plot sun paths.

I'll be more than happy to share once it's complete.

James.

Timmie wrote:

···

Hello,

I am trying to create a plot that resembles the layout of the chart
seen
below:

http://www.nabble.com/file/p21721073/brisbane.png

are you actually trying to plot sun path digrams?

May you share a part of your code once it is completed?

I'd be very interested in seeing a working example.

Kind regards,
Timme

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options

--
View this message in context: http://www.nabble.com/How-to-plot-straight-lines-on-polar-plots-tp21721073p21738933.html
Sent from the matplotlib - users mailing list archive at Nabble.com.