小编wsj*_*wsj的帖子

设置 matplotlib tricontourf 的掩码

我有一些 numpy 数组,其中包含我可以在 2D 网格上可视化的数据。有些数据是非物理的,我想屏蔽这些数据。但是,我不知道如何正确设置 mask 属性tricontour。我试过:

import matplotlib.pyplot as mp
import numpy as np

with open('some_data.dat', 'r') as infile:
        x, y, z = np.loadtxt(infile, usecols=(0, 1, 2), unpack=True)
isbad = np.less(z, 1.4) | np.greater(z, 2.1)
mp.tricontourf(x, y, z, mask = isbad)
Run Code Online (Sandbox Code Playgroud)

但结果数字根本没有被掩盖。我尝试在 matplotlib 中屏蔽轮廓图的一部分,即

z2 = np.ma.array(z, mask= isbad)
mp.tricontourf(x, y, z2)
Run Code Online (Sandbox Code Playgroud)

这也不起作用。我想使用tricontourfinstrad of contourf,因为我不想对数据进行网格化。

z[isbad] = np.nan
Run Code Online (Sandbox Code Playgroud)

调用 tricontourf 时导致分段错误

这是图,红色是我想标记为非物理的颜色。由于非物理数据,彩色等值线图的颜色轴超出了范围

python numpy matplotlib

6
推荐指数
1
解决办法
7597
查看次数

标签 统计

matplotlib ×1

numpy ×1

python ×1