Matplotlib Polar Plot Angles/Axes

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • afrogazer

    Matplotlib Polar Plot Angles/Axes

    I am creating a wind rose using a polar bar plot bu the points do not
    seem to align to the correct angles. Here is the sample code I am
    using. I can't seem to see anything in the API on how to set the
    angles.

    Any ideas anybody?

    Thanks.

    from pylab import *

    angles = arange(0,360,45 )
    data = [18, 11, 11, 17, 39, 43, 25, 9]

    fig = figure(figsize= (8,8))
    title('Wind Speed/Direction Frequency.', fontsize=13)
    ax = fig.add_subplot (111)
    fig.add_axes(([0.15,0.15,0.725 ,0.725]), polar=True)
    labels = arange(0,360,22 .5)
    lines = arange(0,360,22 .5)
    ax.axis('off')
    bar(angles, data, alpha=0.75, align='center', linewidth=0)

    show()
  • Bas

    #2
    Re: Matplotlib Polar Plot Angles/Axes

    I only have experience with the matlab version of polar, but my wild
    guess is that you have convert your degrees to radians. Go to the
    Matplotlib newsgroup if you need any better help.

    HTH,
    Bas

    Comment

    • afrogazer

      #3
      Re: Matplotlib Polar Plot Angles/Axes

      In my rush I seem to have overlooked that, maybe because it's Friday
      afternoon. Converting the degrees to radians fixed it:

      rad_angles = [elem*(pi/180) for elem in angles]

      Thanks,

      Comment

      • afrogazer

        #4
        Re: Matplotlib Polar Plot Angles/Axes

        On Sep 26, 3:33 pm, afrogazer <justin.k...@gm ail.comwrote:
        In my rush I seem to have overlooked that, maybe because it's Friday
        afternoon. Converting the degrees to radians fixed it:
        >
        rad_angles = [elem*(pi/180) for elem in angles]
        >
        Thanks,
        One other caveat, some of the bars may over-lap. To prevent this, the
        width can be set by converting it to radians too:

        w = 45*pi/180
        bar(angles, data, alpha=0.75, align='center', width=w, linewidth=0)

        Now onto plotting clockwise with North(0 deg.) on top....

        Comment

        Working...