Я пытаюсь добавить точку на поверхности, отображаемой с помощью 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 и немного увеличив высоту точка относительно поверхности, но ничего не получилось.
Большое спасибо за вашу помощь!