numpy - 缺少值的pcolormesh?

标签 numpy matplotlib scipy

我有3个1-D ndarray:x,y,z

和以下代码:

import numpy as np
import matplotlib.pyplot as plt
import scipy.interpolate as spinterp

## define data
npoints = 50
xreg = np.linspace(x.min(),x.max(),npoints)
yreg = np.linspace(y.min(),y.max(),npoints)
X,Y = np.meshgrid(xreg,yreg)
Z = spinterp.griddata(np.vstack((x,y)).T,z,(X,Y),
                      method='linear').reshape(X.shape)

## plot
plt.close()
ax = plt.axes()
col = ax.pcolormesh(X,Y,Z.T)
plt.draw()

我的图空白了,我怀疑这是因为方法=“线性”插值是用nans来的。我试过转换为带掩码的数组,但无济于事-情节仍然是空白。你能告诉我我做错了吗?谢谢。

最佳答案

得到它了。这似乎是回旋的,但这是解决方案:

import numpy.ma as ma

Zm = ma.masked_where(np.isnan(Z),Z)
plt.pcolormesh(X,Y,Zm.T)

如果Z矩阵包含nan,则它必须是pcolormesh的掩码数组,该数组必须使用ma.masked_where创建,或者,
Zm = ma.array(Z,mask=np.isnan(Z))

关于numpy - 缺少值的pcolormesh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7778343/

相关文章:

python - 如何删除numpy中具有相同值的列

python - 如何在python函数中删除一个对象?

python - 如何查看牛顿法运行的迭代次数?

python - 为什么 Matplotlib+Basemap 不显示岛屿?

python - 如何在 Python 2.7 中同时优化和查找两个方程的系数?

python - scipy 的 cdist 与 Sympy 符号不兼容

python - 如何使用优化函数复制 scipy.stats.fit?

python - NumPy - 更新数组中的所有值,切片除外

python - numpy 数组为数组中唯一的数字

Python/Matplotlib - 更改子图的相对大小