小编cas*_*sey的帖子

3D轴上的填充等高线图中的伪像

我有一个令人沮丧的问题,只有在3D轴上绘制填充的等高线图时才会显示,并且仅在某些情况下.

以下是我遇到的问题的示例:

在此输入图像描述

在此输入图像描述

这些是不同轮廓间隔的相同数据.您会注意到域的左侧发生了错误填充.这是一个Z点通过绘图命令压缩到Z = 0平面的图

ax3d.contourf(X, Y, dbz[z25,:,:], zdir='z', offset=0, levels=levels, cmap='pymeteo_radar', alpha=0.50)
Run Code Online (Sandbox Code Playgroud)

无论使用alpha级别或色彩映射,都会发生错误纠正,但对级别数量敏感.使用zdiroffset不影响错误轮廓(假象只发生在Z表面上.如果我没有填充轮廓,就没有错误轮廓.我也可以改变域有时会使问题更好(或更糟糕的是,但我在同一个域内有许多图表,所以这不是一个修复.

在2D轴上绘制相同数据时不会发生此问题,例如:

在此输入图像描述

该图上有一些额外的数据,但您可以看到填充的轮廓线不会因误填充在3d轴上发生的轮廓而产生相同的伪影.

下面是您可以运行以重现该问题的脚本.

#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.axes3d as p3

data=np.array([[53.9751,  51.5681,  50.7119,  51.1049,  51.5339,  51.4977,  51.2387,50.761,  50.1732,  49.8218,  49.5442,  48.936,  47.4498,  46.6484, 45.8542,  45.136,  44.5268,  44.071,  43.7665,  43.5928,  43.5269, 43.5385,  43.6053,  45.565,  47.0071,  46.8664,  47.372,  47.8324, 48.295,  48.731,  49.0522,  49.4001,  49.7111,  49.9919,  50.2527, 50.4928,  50.7135,  50.8831,  51.0806,  51.2683 ],
               [55.6671,  52.53,  50.7764,  50.5632, …
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib contour mplot3d

5
推荐指数
1
解决办法
855
查看次数

标签 统计

contour ×1

matplotlib ×1

mplot3d ×1

plot ×1

python ×1