我使用matplotlib将一些数据拟合到网格中并将其绘制为极坐标投影 . 类似于下面的例子 . 但是,我希望它是平滑的,其中曲线的边缘在0/360度处相交 . 谁知道我是怎么做到的?
from pylab import *
import random
x = linspace(0, 360, 361).astype(int)
x = x*pi/180
y = linspace(0.05, 0.5, 800)
xgrid, ygrid = meshgrid(x, y)
baz = []
for c in range(2000): baz.append(random.randint(0,360))
freq = rand(len(baz))
pwr = rand(len(baz))
zgrid = griddata(baz,freq,pwr, xgrid, ygrid)
subplot(111, polar=True)
pcolormesh(xgrid, ygrid, zgrid)
show()
由于griddata创建的掩码,我正在处理的数据也有差距(我使用如上所述的griddata,然后在循环中汇总多个网格) . 我想填补遗失的部分(见附图),有谁知道怎么做?
谢谢戴夫
1 回答
如果您知道哪些网格在0/360度位置聚集在一起,您可以将它们连接起来并对其进行样条插值(scipy interpolation) . 对于你的第二个问题,我不确定如何在极坐标中创建你的网格?这会解决你的问题吗?
亲切的问候