我有一个令人沮丧的问题,只有在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级别或色彩映射,都会发生错误纠正,但对级别数量敏感.使用zdir和offset不影响错误轮廓(假象只发生在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)