Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python绘制三维轴上的平行标签_Python_Matplotlib_Plot_Axes - Fatal编程技术网

使用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对不起,我不能帮你,因为我看不到你的代码。这对我有用@也许在你的问题中提供一个答案会有所帮助?