polar plots, clockwise, north

E

enricong

I've been trying to figure out how to do this for a while with
matplotlib. I need to make polar plots which go around clockwise and
have 0deg on top (north) instead of on the side (east). How can this
be done? If matplotlib cannot do this, is there something that does
work?
 
E

enricong

Thanks, I had tried this earlier but by rotating the data in this
fashion, it has problems connecting the endpoints between 0 and 360
and tries to go counter clockwise around. I am then left with an
extra circle in all my plots where it attempts to connect the points
between 360 and 0 (now 100 and 0).
 
N

norseman

Thanks, I had tried this earlier but by rotating the data in this
fashion, it has problems connecting the endpoints between 0 and 360
and tries to go counter clockwise around. I am then left with an
extra circle in all my plots where it attempts to connect the points
between 360 and 0 (now 100 and 0).

============================================
I went to the archives and looked up your beginning post.

First: Check the man/docs to whatever math library you are using.
Look for a toggle (or whatever) that sets the lib to handle
Angles Right (clockwise) and same or other toggle to place
0degs at Compass North (Navigation/Engineering/Surveying).

Second: If no such settings noted in "First" are present - junk the lib!
Seriously - I do. But since that may not be a choice for
you, then make a function to convert your input to the
necessary angle and pass it on. You may need another to convert
any angular return values. But the Cartesian (X,Y) coordinate
will be correct.

Drafting Table: 0deg is right side (E)
Positive rotation is Angles Left

Navigation : 0degs is Compass or True North geodetic.
Positive rotation is Angles Right


Make two compass roses, one for Drafting and one for Navigation, align
the 0's, pick AR from Nav circle and read the convert to from Draft.
This will allow you verify your function.

FROM NAV TO DRAFTING
The formula is: 360 - AR + 90 yields answer
|------|----|
^ | ^
| rotates Draft 0deg to align
reverses direction
if answer > 360, subtract 360.
(actually, remove all multiples of full circle)
The formula as shown makes it easy to account for full circles.

Convert angles to mils, degs, rads - whatever you need. The 90 and 360
change to equivalent in units of choice.

If incoming angles are quadrant noted (N XX-Degrees....E etc..)
first convert bearing to AR. N---E as is
S---E 180 - bearing
S---W 180 + bearing
N---W 360 - bearing


Hint: If using radians (rad) use lots of decimal places! Otherwise the
accuracy suffers greatly!



Steve
(e-mail address removed)
 
E

enricong

Thank you for your post. I checked and it seems that the library I
use (matplotlib) will only plot in a counter-clockwise direction
starting at "east". I can rotate the data so that the plot looks
correct, however since the library still wants to plot counter-
clockwise, it attempts to connect the end plots and leaves an ugly
circle going around the origin (versus connecting them directing with
a straight line).

I'm starting to look at qwtpolar and whatever else may be out there.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top