Я хотел бы создать трехмерный график с гладкой поверхностью, используя matplotlib.Однако на любом трехмерном графике, который я создаю, по умолчанию отмечена сетка, которая не исчезает при уменьшении размера шага сетки.Как я могу удалить эти сетки, чтобы создать гладкую поверхность?
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import math
from matplotlib import cm
h=0.01
t=2.7*10**(-19)
c=-0.2*t
a=1.42
u=3**0.5
def fun(x, y):
return 2*math.cos(u*y*a) +4*math.cos(u*y*a/2)*math.cos(3*x*a/2)
def g(x,y):
return t*(3+fun(x,y))**0.5 -c*fun(x,y)
def h(x,y):
return -t*(3+fun(x,y))**0.5 -c*fun(x,y)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = y = np.arange(-1.8, 1.8, 0.005)
X, Y = np.meshgrid(x, y)
zs = np.array([g(x,y) for x,y in zip(np.ravel(X), np.ravel(Y))])
zs1 = np.array([h(x,y) for x,y in zip(np.ravel(X), np.ravel(Y))])
Z = zs.reshape(X.shape)
Z1 = zs1.reshape(X.shape)
ax.plot_surface(X, Y, Z,rstride=20, cstride=20, cmap=cm.Blues,alpha=0.8)
ax.plot_surface(X,Y,Z1,rstride=20, cstride=20, cmap=cm.bone,alpha=0.8)
ax.set_zlim(-0.75*10**(-18), 1.5*10**(-18))
plt.show()