Как удалить оси в классе Axes3D?

Я использую mplot3d следующим образом:

fig = plt.figure(figsize=(14,10)) ax = Axes3D(fig,azim=azimuth,elev=elevation) ax.grid(on=False) # Additional axes xspan = np.linspace(0,80+20) yspan = np.linspace(0,60+20) zspan = np.linspace(0,60+20) ax.plot3D(xspan,np.zeros(xspan.shape[0]),np.zeros(xspan.shape[0]),'k--') ax.plot3D(np.zeros(yspan.shape[0]),yspan,np.zeros(yspan.shape[0]),'k--') ax.plot3D(np.zeros(zspan.shape[0]),np.zeros(zspan.shape[0]),zspan,'k--') ax.text(xspan[-1]+10, .5, .5, "x", color='red') ax.text(.5, yspan[-1]+10, .5, "y", color='red') ax.text(.5, .5, zspan[-1]+10, "z", color='red') NZindices = np.nonzero(t2)[0] #print "Nonzero values of T^2", len(NZindices), "out of", X.shape[0] ONZ_X, ONZ_Y, ONZ_Z, ONZ_p = [],[],[],[] INZ_X, INZ_Y, INZ_Z, INZ_p = [],[],[],[] # Separate indices I/O for ind in NZindices: if ind <= HALF_INDICES: INZ_X.append( X[ind] ) INZ_Y.append( Y[ind] ) INZ_Z.append( Z[ind] ) INZ_p.append( t2[ind] ) else: ONZ_X.append( X[ind] ) ONZ_Y.append( Y[ind] ) ONZ_Z.append( Z[ind] ) ONZ_p.append( t2[ind] ) cax = ax.scatter(ONZ_X, ONZ_Y, ONZ_Z, c=ONZ_p, marker='o', s=20 ) cax = ax.scatter(INZ_X, INZ_Y, INZ_Z, c=INZ_p, marker='<', s=20 ) fig.colorbar( cax, shrink=0.7 ) success = float(len(NZindices))/X.shape[0]*100 fig.savefig(fname) #plt.show() plt.clf() plt.close() 

Я хочу удалить исходные (x, y, z) оси, которые появляются по умолчанию в Axes3D. Есть идеи? Благодаря!

Если я правильно понял ваш вопрос, все, что вам нужно сделать, это вызвать ax.axis("off") или эквивалентно ax.set_axis_off() .

Чтобы убедиться, что мы на одной странице, ваш примерный код может создать что-то вроде этого (если он может быть выполнен, когда вы его разместили …):

alt text

Хотя вы хотите что-то вроде этого: alt text

Вот код для генерации приведенного ниже примера, для дальнейшего использования:

 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np fig = plt.figure() ax = Axes3D(fig) # Draw x, y, and z axis markers in the same way you were in # the code snippet in your question... xspan, yspan, zspan = 3 * [np.linspace(0,60,20)] zero = np.zeros_like(xspan) ax.plot3D(xspan, zero, zero,'k--') ax.plot3D(zero, yspan, zero,'k--') ax.plot3D(zero, zero, zspan,'k--') ax.text(xspan.max() + 10, .5, .5, "x", color='red') ax.text(.5, yspan.max() + 10, .5, "y", color='red') ax.text(.5, .5, zspan.max() + 10, "z", color='red') # Generate and plot some random data... ndata = 10 x = np.random.uniform(xspan.min(), xspan.max(), ndata) y = np.random.uniform(yspan.min(), yspan.max(), ndata) z = np.random.uniform(zspan.min(), zspan.max(), ndata) c = np.random.random(ndata) ax.scatter(x, y, z, c=c, marker='o', s=20) # This line is the only difference between the two plots above! ax.axis("off") plt.show()