Python, matplotlib plot 2D histogram on polar axis.

funcosed
Messages
35
Reaction score
0
Any python/matplotlib experts out there?? This one has been driving me crazy all day. I have three vectors, azimuth, frequency and power, which I would like to histogram and plot on a polar axis. I can plot a scatter plot this way no problem but the histogram gets messed up somehow. An example is below, anybody know how to do this properly??

import random
import numpy as np
import matplotlib.pyplot as plt

baz = np.zeros((20))
freq = np.zeros((20))
pwr = np.zeros((20))
for x in range(20):
baz[x] = random.randint(20,25)*10
freq[x] = random.randint(1,10)*10
pwr[x] = random.randint(-10,-1)*10

baz = baz*np.pi/180.

abins = np.linspace(0,2*np.pi,360)
sbins = np.linspace(1, 100)

H, xedges, yedges = np.histogram2d(baz, freq, bins=(abins,sbins), weights=pwr)

plt.figure(figsize=(14,14))
plt.subplot(111, polar=True)
#plt.scatter(baz, freq, c=pwr)
plt.pcolormesh(H)
plt.show()
 
I don't follow...what is it that you are trying to achieve? Can you show a picture? If I uncomment the scatter plot and comment out the colormesh, I do see a nice picture...it is just that colormesh covers the entire place...are you sure you want colormesh? or some other function? how about bar?
 
Hi,
I've attached a link to a picture showing what I need, and I did try bar but couldn't get that to work properly either.
 
Hhhhhmmm...maybe you just need to play around with the parameters of the mesh, you know, the colormap and which color correspond to which range...you should inspect the data you are plotting, maybe is too one sided or something
 
solution here :)
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
4
Views
5K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 21 ·
Replies
21
Views
6K
  • · Replies 3 ·
Replies
3
Views
4K
Replies
7
Views
3K