我正在尝试在matplotlib中绘制极地图。当我使用法线,直角坐标时,我得到了我想要的图:
dir_mesh, f_mesh = np.meshgrid(dir,freq[indsf])
pl.pcolor(dir_mesh,f_mesh,S1)正确的图

如果我使用极点投影,就会出现多个峰!
ax = pl.subplot(111,projection = "polar")
ax.set_theta_zero_location("N")
ax.set_theta_direction(-1)
c = ax.pcolor(dir_mesh,f_mesh,S1)万花筒极线图(错误)

发布于 2017-04-21 16:30:35
极地图的单位是辐射量。如果您以度为单位提供数据,范围从0到360,数据将围绕极地图旋转57次,结果如下所示:
import matplotlib.pyplot as plt
import numpy as np
theta = np.arange(0,361,10)
r = np.linspace(0.,0.8,len(theta) )
ax = plt.subplot(111,projection = "polar")
ax.plot(theta,r)
plt.show()

为了得到想要的结果,你需要将你的theta数据调整到0到2π之间。
例如theta = theta/180.*np.pi。
import matplotlib.pyplot as plt
import numpy as np
theta = np.arange(0,361,10)
theta = theta/180.*np.pi
r = np.linspace(0.,0.8,len(theta) )
ax = plt.subplot(111,projection = "polar")
ax.plot(theta,r)
plt.show()

https://stackoverflow.com/questions/43534628
复制相似问题