Я работал над этим сложным сюжетом о траекториях ракет, карт и прочего ... Я пришел к тому, что мне нужно было включить маркеры в определенные места моей карты:
Рисунок без маркера
Это длинный код, для воспроизведения которого требуется много данных, но когда я включаю эту строку:
ax.scatter(-147.338786 65.32957 85.001453, c='aqua', marker='o', s = 100, label = 'PMC - Water release'
,edgecolors = 'black')
Это результат:
Фигура с маркером
Я использую фигуру, созданную с помощью другого кода, чтобы сгенерировать карту в виде png и добавить ее к трехмерному графику следующим образом:
fig = plt.figure(figsize=(16,14))
ax = fig.gca(projection='3d')
ax.w_xaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
ax.w_yaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
k=.01
xx, yy = np.meshgrid(np.linspace(xlims[0],xlims[1],377), np.linspace(ylims[0]+k,ylims[1]+k,317))
# create vertices for a rotated mesh (3D rotation matrix)
X = xx#np.cos(theta)
Y = yy#np.sin(theta)
Z = yy*.0-2.
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, facecolors=plt.imread(myfolder +
'basemap.png'), shade=False)
basemap.png - это название карты (размером 377x317).
Кто-нибудь знает, как переопределить фигуру, выходящую на передний план, маркером?Я не знаю, почему это так, но эта линия (ax.scatter) - единственная разница между рисунком 1 и рисунком 2.
edit: я изменил порядок вызовов графика иитак, без положительных результатов