Python 3.x 在曲面上方显示散射体3D(绘制三曲面),zorder不';行不通

Python 3.x 在曲面上方显示散射体3D(绘制三曲面),zorder不';行不通,python-3.x,matplotlib,3d,surface,scatter3d,Python 3.x,Matplotlib,3d,Surface,Scatter3d,我试图在用函数plot_trisurf显示的曲面上添加一个点。该点存在,但似乎是在曲面之前绘制的,因此查看该点的唯一方法是使曲面透明。我希望此点出现在曲面上,即使曲面不是透明的。你知道怎么做吗 问题的一个例子如下: import numpy as np from mpl_toolkits.mplot3d import Axes3D from matplotlib import pyplot as plt Latitude = np.repeat(np.linspace(45.1525, 45.

我试图在用函数plot_trisurf显示的曲面上添加一个点。该点存在,但似乎是在曲面之前绘制的,因此查看该点的唯一方法是使曲面透明。我希望此点出现在曲面上,即使曲面不是透明的。你知道怎么做吗

问题的一个例子如下:

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt

Latitude = np.repeat(np.linspace(45.1525, 45.17, 1000), 15)
Longitude = np.array(list(np.linspace(5.9, 5.94, 1000))*15)
x = np.linspace(0,3,len(Latitude))
Altitude = np.sin(x)*np.cos(x**2)

fig = plt.figure(figsize=(15, 9))
ax = fig.gca(projection="3d")
ax.view_init(30, 250)
surf = ax.plot_trisurf(
    Latitude,
    Longitude,
    Altitude,
    cmap=plt.cm.jet,
    linewidth=0,
    alpha=0.2,
    edgecolor=None,
    antialiased=False,
)

s = ax.scatter(
    Latitude[10600],
    Longitude[10600],
    Altitude[10600],
    c="black",
    marker="*",
    s=100,
    depthshade=False,
)
plt.title((Latitude[10600], Longitude[10600], Altitude[10600]))
plt.show()
我还尝试了使用scatter3D,通过稍微增加点相对于曲面的高度,但没有任何效果


非常感谢你的帮助

看。您的问题可能是问题的副本?您应该阅读,谢谢。我刚刚用pathpatch_2d_到_3d尝试了这个解决方案,但问题仍然存在。我想可能是因为他们使用plot_surface,而我使用plot_trisurf。我没有也无法使用真实数据集创建经纬度坐标的二维网格(坐标与纬度或lontidude线对齐),因此plot_曲面不适合当前问题。请参阅。您的问题可能是问题的副本?您应该阅读,谢谢。我刚刚用pathpatch_2d_到_3d尝试了这个解决方案,但问题仍然存在。我想可能是因为他们使用plot_surface,而我使用plot_trisurf。我没有也无法使用真实数据集创建经纬度坐标的二维网格(坐标与纬度或lontidude线对齐),因此plot_曲面不适合当前问题。