Python 3.x 在曲面上方显示散射体3D(绘制三曲面),zorder不';行不通
我试图在用函数plot_trisurf显示的曲面上添加一个点。该点存在,但似乎是在曲面之前绘制的,因此查看该点的唯一方法是使曲面透明。我希望此点出现在曲面上,即使曲面不是透明的。你知道怎么做吗 问题的一个例子如下: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.
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_曲面不适合当前问题。