使用Python绘制三维轴上的平行标签
如何从以下位置旋转三维打印上的轴标签: (标签“垂直于”轴) 为此: (标签“平行于”轴) 也许,在这种情况下,使用使用Python绘制三维轴上的平行标签,python,matplotlib,plot,axes,Python,Matplotlib,Plot,Axes,如何从以下位置旋转三维打印上的轴标签: (标签“垂直于”轴) 为此: (标签“平行于”轴) 也许,在这种情况下,使用Y标签将90度 我只是简单地使用ax.setxlabel('X轴'),分别用于三个轴中的每一个,但标签结果是垂直的,并且占据了绘图的大部分 我正在阅读,但它实际上没有得到回答,而get模块我不知道它来自何处(如果我尝试该解决方案,我会收到错误)。我猜您导入了axes3d模块。因为从示例中可以看出,axes3d的默认行为是使用“垂直”标签,就像第一个绘图一样。但是模块Axes3D
Y标签
将90度
我只是简单地使用ax.setxlabel('X轴'),分别用于三个轴中的每一个,但标签结果是垂直的,并且占据了绘图的大部分
我正在阅读,但它实际上没有得到回答,而
get
模块我不知道它来自何处(如果我尝试该解决方案,我会收到错误)。我猜您导入了axes3d
模块。因为从示例中可以看出,axes3d
的默认行为是使用“垂直”标签,就像第一个绘图一样。但是模块Axes3D
具有与轴“平行”的默认标签,如第二个绘图上所示
至于您链接的讨论,它适用于matplab,而不适用于matplotlib
以下是一个适用于您的代码:
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
points = np.random.rand(3, 40)
ax.scatter(points[0], points[1], points[2])
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
我发现以下是最好的解决方法:
ax.zaxis.set_rotate_label(False) # To disable automatic label rotation
ax.set_ylabel('Y')
ax.set_xlabel('X', rotation=-90)
ax.set_zlabel('Z', rotation=90)
来自。对不起,我不明白。您的意思是
Axes3D
与Axes3D
不同?顺便说一句,我也导入了Axes3D
。@Py-ser:我不知道内部工作原理,但从他们的图库中提供的示例中可以看出,它们的行为似乎有所不同。你试过上面的代码了吗?@Py-ser对不起,我不能帮你,因为我看不到你的代码。这对我有用@也许在你的问题中提供一个答案会有所帮助?