mplot3d: Скрытие линейного сюжета `plot ()` под `plot_surface ()` - PullRequest
0 голосов
/ 12 июня 2018

Я хочу иметь линейный график (нарисованный с Axis.plot()), который частично покрыт поверхностью, сгенерированной Axis.plot_surface().Я написал следующий скрипт:

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

resolution = 100
ax = plt.gca(projection="3d")
x, y = np.meshgrid( np.linspace(-1.0, 1.0, resolution) ,
                    np.linspace(-1.0, 1.0, resolution) )
phi = (1.0 - x)*(1.0 - y) / 4.0
ax.plot([-1.0,1.0], [-1.0,1.0], [0.0,0.0], color="red")
ax.plot_surface(x, y, phi, linewidth=0, antialiased=False)
plt.show()

и позаботился о том, чтобы звонок был plot() перед тем, как plot_surface().Тем не менее, кажется, что линейный график всегда имеет самый высокий «zindex» и наносится на поверхность.Вот что я получаю:

What I've got

Вот что я хотел бы получить вместо этого: enter image description here

Как мне достичь этого результата?(Без использования Gimp…)

1 Ответ

0 голосов
/ 29 августа 2019

Я изменился.

ax.plot_surface(x, y, phi, linewidth=0, antialiased=False)

с:

ax.plot_surface(x, y, phi, linewidth=0, antialiased=True)

и затем я увидел всю красную линию На ней показан график с красной линией

...