Matplotlip:3D曲面图关闭背景但保留轴

Sup*_*per 10 python plot matplotlib

我想做一个显示轴的3D曲面图,但不显示轴之间的面.我发现如何使用关闭轴和面ax.set_axis_off().有没有机会只关掉那些面孔,或者让它们变得透明?(在第一张图片中,如果仔细观察,可以看到面孔) 有轴和背景 没有轴和背景

提前致谢!

Imp*_*est 16

你不能"关闭窗格",但你可以改变它们的颜色,从而使它们透明.

ax.xaxis.set_pane_color((1.0, 1.0, 1.0, 0.0))
Run Code Online (Sandbox Code Playgroud)

完整代码:

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

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.set_xlabel("x"); ax.set_ylabel("y"); ax.set_zlabel("z")

x = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(x,x)
Z = np.sin(np.sqrt(X**2 + Y**2))

# make the panes transparent
ax.xaxis.set_pane_color((1.0, 1.0, 1.0, 0.0))
ax.yaxis.set_pane_color((1.0, 1.0, 1.0, 0.0))
ax.zaxis.set_pane_color((1.0, 1.0, 1.0, 0.0))
# make the grid lines transparent
ax.xaxis._axinfo["grid"]['color'] =  (1,1,1,0)
ax.yaxis._axinfo["grid"]['color'] =  (1,1,1,0)
ax.zaxis._axinfo["grid"]['color'] =  (1,1,1,0)

surf = ax.plot_surface(X, Y, Z, cmap=plt.cm.coolwarm,
                   linewidth=0, antialiased=False)

fig.colorbar(surf, shrink=0.5, aspect=5)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述