2

我正在使用 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,然后在一个循环中对许多网格求和)。我想填补缺失的部分(见附图),有人知道怎么做吗?

在此处输入图像描述 谢谢戴夫

4

1 回答 1

1

如果您知道哪些网格在 0/360 度位置聚集在一起,您可以将它们连接起来并对其进行样条插值(scipy 插值)。对于您的第二个问题,我不确定,但是如何在极坐标中创建网格?这会解决你的问题吗?

亲切的问候

于 2012-11-23T15:16:01.043 回答