3D точки на поверхности PYTHON - PullRequest
1 голос
/ 16 марта 2019

Я пытаюсь нанести несколько точек на поверхность. Результат, который я хочу получить (график справа): enter image description here

Я попробовал следующий код (x_k содержит координаты точек, которые я хочу построить):

f = lambda x : x[0]**2+x[1]**3+3*x[0]*x[1]
x_axis = [x_k[i][0] for i in range(0, len(x_k))]
y_axis = [x_k[i][1] for i in range(0, len(x_k))]
z_axis = [f(x_k[i]) for i in range(0, len(x_k))]

x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)

X, Y = np.meshgrid(x, y)
Z = f(np.array([X, Y]))

ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z,alpha=0.8,cmap='viridis',edgecolor='white',linewidth=0.3)
ax.scatter(x_axis, y_axis, z_axis, zdir='z',marker='.', s=10, c='black', depthshade=False)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
ax.set_aspect("equal")
plt.tight_layout()
plt.show()

И я получаю это: enter image description here

Видите, что точки прозрачны из-за поверхности ...

enter image description here

Я хочу, чтобы они были черными, чтобы лучше их видеть. Как я мог это сделать? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...