(这可能是一个天真的问题。如果是的话,请原谅我。)
我正在使用Python 3.7.1和MatplotLib 3.0.1。
在下面的简单代码中,我使用了不同的方法来为轴分配标签。从OO的角度看,它们似乎是等效的。但是只有x轴
标签显示出来。为什么?
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = np.linspace(-2,2,60)
y = np.linspace(-2,2,60)
xx, yy = np.meshgrid(x,y)
z = xx**2 + yy**3
surf = ax.plot_surface(xx, yy, z, cmap="viridis")
ax.set_xlabel('x axis') # <====== This works
ax.yaxis.set_label('y axis') # <====== This doesn't work
ax.zaxis.set_label('z axis') # <====== This doesn't work
在下面的图像中,您只能看到标签
x axis
。
添加1
根据这里,似乎matplotlib.axis.XAxis.set_label()
方法是可行的。
在我的情况下,ax.xaxis
是mpl_toolkits.mplot3d.axis3d.XAxis
类型。它是一个有点不同的类型。但我认为它也应该可以工作。