我使用scipy griddata来插入极坐标数据 . 我有一个方位角,高度和值的文件 .

首先,我将方位角和高度转换为笛卡尔坐标以与griddata一起使用 . 然后我创建从0到90的高度和0到360的方位角的步骤 .

alt = np.array(alt)
x,y = alt * np.cos(az), alt*np.sin(az)
xi = np.linspace(0, 90, 100)
yi = np.linspace(np.radians(10.), np.radians(350.), 100)
zi = griddata((x, y), value, (xi[None,:], yi[:,None]), method='cubic')
ax = plt.subplot(111, projection='polar')
cm = plt.cm.get_cmap('jet_r')
levels = np.linspace(min(value),max(value), 100)
cf = plt.contourf(yi,90-xi,zi.T,levels=levels,cmap=cm)

cbar = plt.colorbar()
cbar.set_ticks(np.arange(15.5,22, .5))
cbar.set_label(r'mag/arcsec$^2$')
ax.set_theta_zero_location('N')
ax.set_theta_direction(-1)
ax.yaxis.grid(False)
#ax.set_rticks([])
ax.scatter(az,90-alt, marker='.', edgecolors='k', facecolors='none')
ax.xaxis.grid(False)
plt.ylim(0,90)

plt.show()

我不同意为griddata返回的内容 . 例如,225处最低海拔处的数据点(黑点)是16.5 mags / arcsec ^ 2 . Griddata为该区域返回了大约18.5 mag / arcsec ^ 2的值 . 我的另一个问题是方位角350-10处的插值有多糟糕 . 它不能很好地融合 . 见下文:

enter image description here

我将范围从10更改为350以获得:

enter image description here

我很高兴,但我想填补情节中的钥匙孔 .

非常感谢任何填充钥匙孔的帮助 . 以及如何改进griddata结果 .

我也不同意极坐标图旋转和数据映射 . 我相信那里有一些错误,但这是另一篇文章 .