使用具有1D向量的matplotlib contourf函数

时间:2012-11-19 11:38:46

标签: matplotlib

我有一个大型数据集,其中包含一个月内每天都有三个大型单列向量(背向,频率和功率)的文件。我想使用contourf之类的东西在极坐标图上显示数据。但是,我不确定如何将功率数据重新整形为2D阵列。下面是一个例子,

from pylab import *

x=rand(100)
y=rand(100)
z = rand(100)    # 1D

BAZ, FREQ = meshgrid(x, y)
ax = plt.subplot(111, polar=True)
contourf(BAZ, FREQ, z)       # z needs to be 2D

任何知道如何重塑z所以这将工作??? 谢谢, 大卫

1 个答案:

答案 0 :(得分:0)

来自蒂亚戈的评论上面的回答是,

x=rand(100)
y=rand(100)
z = rand(100) 

xgrid = np.linspace(x.min(), x.max(), 100)
ygrid = np.linspace(y.min(), y.max(), 100)
xgrid, ygrid = np.meshgrid(xgrid, ygrid)
zgrid = griddata((x,y),z, (xgrid, ygrid))

ax = plt.subplot(111, polar=True)
contourf(xgrid, ygrid, zgrid)   

谢谢,
d。