小编mjo*_*mjo的帖子

Matplotlib 中的 3D 参数曲线不考虑 zorder。解决方法?

我正在使用 Matplotlib 设计一个三维插图。一切都很好,除了(红色)参数曲线得到错误的 zorder 而(绿色)参数曲面完全正确绘制。

由以下代码生成的输出: 由以下代码生成的输出

我知道 Matplotlib 在准确计算对象的 zorder 方面的能力有限,但由于它可以为参数曲面执行此操作,因此它似乎是 Matplotlib 中的一个错误。

也就是说,有没有办法强制正确的 z-ordering 只是为了让事情快速工作?似乎我只能说正确的透明蓝色平面位于其他一切之上。但是,将 zorder 参数放入 PolyCollection 似乎没有任何效果,并且将显式 zorder 参数放入绘制读取线的绘图函数中会弄乱其相对于绿色表面的顺序。

有没有办法将正确的蓝色透明表面强加于一切之上?这是我到目前为止的代码:

#!/bin/env python3

from pylab import *
from mpl_toolkits.mplot3d import *

from matplotlib.collections import PolyCollection
from matplotlib.colors import colorConverter
from matplotlib.patches import FancyArrowPatch

rc('text', usetex=True)
rc('font', size=20)

fig = figure(figsize=(11,6))
ax = fig.gca(projection='3d')

ax.set_axis_off()

def f(x,t):
    return t/2 * 0.55*(sin(2*x)+0.4*x**2-0.65)

c_plane   = colorConverter.to_rgba('b', alpha=0.15)

N = 50
y = linspace(-1,1,N)
t = linspace(0,2,N)
yy, tt = meshgrid(y, t) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib mplot3d

6
推荐指数
2
解决办法
5366
查看次数

标签 统计

matplotlib ×1

mplot3d ×1

python ×1