Я создаю простой 3D-график с использованием matplolib, как этот (python 3.7
matplotlib 3.0
):
from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
def bilinear1(x,y):
return (1-x)*(1-y)
fig = plt.figure()
ax = plt.axes(projection='3d')
x = np.linspace(0, 1, 100)
y = np.linspace(0, 1, 100)
X, Y = np.meshgrid(x,y)
Z = bilinear1(X,Y)
ax.set_xticks([0, 1]);ax.set_yticks([0, 1]);ax.set_zticks([0, 1])
ax.set_xlim(0,1); ax.set_ylim(0,1); ax.set_zlim(0,1)
ax.set_xlabel('x'); ax.set_ylabel('y'); ax.set_zlabel('z')
ax.plot_surface(X,Y,Z, rstride=10, cstride=10)
Это создает следующий график :
График в порядке, но у него есть следующие проблемы:
- Это две линии сетки в x = 0 z = 0, y = 1 z = 0 и x = 0 y = 1
- Линии осей очень близки к линиям сетки
Я бы хотел, чтобы на каждом из этих мест была только одна линия, чтобы получить более чистую фигуру.Я пытался искать в методах Axes3D
, но ничего не смог найти.