Hi all,
I'm making a 3d plot using Axes3D (plot_surface) and I want to get rid of the 3d gray box that surrounds the object so that only the object shows up. Is there a way to do it? After creating my Axes3D instance, I can't find much else than methods to change the x,y,z labels and axis limits.
I found a hack using myAXINFO to change the color of each "panel" but the axis line still remains there.
Ideally, there would be methods to access the color, visibility, etc., of these elements. Maybe it's somewhere I can't find them...
Here's a code snippet derived from one of the website's examples:
···
#############
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FixedLocator, FormatStrFormatter
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet,
linewidth=0, antialiased=False)
ax.set_zlim3d(-1.01, 1.01)
# The following makes the panels white, but the axis line remains there
myAXINFO = { 'x': {'i': 0, 'tickdir': 1, 'juggled': (1, 0, 2), 'color': (1.0, 1.0, 1.0, 1.0, 1.0)}, 'y': {'i': 1, 'tickdir': 0, 'juggled': (0, 1, 2), 'color': (1.0, 1.0, 1.0, 1.0, 1.0)}, 'z': {'i': 2, 'tickdir': 0, 'juggled': (0, 2, 1), 'color': (1.0, 1.0, 1.0, 1.0, 1.0)} }
ax.w_zaxis._AXINFO = myAXINFO
ax.w_yaxis._AXINFO = myAXINFO
ax.w_xaxis._AXINFO = myAXINFO
plt.show()
#############
Thanks!
Rene