我在Google Colab中生成了一个3D散点图,但问题是生成的图是静态的,不能旋转。
我尝试使用命令
%matplotlib notebook
以启用3D散点旋转,因为它显然在Jupyter Notebook环境中起作用,但似乎在Google Colab环境中不起作用。
你可以在这里找到我的代码。
我在Google Colab中生成了一个3D散点图,但问题是生成的图是静态的,不能旋转。
我尝试使用命令
%matplotlib notebook
以启用3D散点旋转,因为它显然在Jupyter Notebook环境中起作用,但似乎在Google Colab环境中不起作用。
你可以在这里找到我的代码。
尝试使用Plotly(Python图形库) 3D散点图。
view_init
方法来改变视角。它有两个参数(elev
表示仰角,azim
表示方位角),以旋转坐标轴。您将得到一个不同的视点。
默认情况下,view_init
设置为azim=-60,elev=30
。角度以度为单位指定。在您的代码中,在使用散点方法之前更改elev
和azim
的值。以下是一个示例,使用ax.view_init(elev=30, azim=-120)
: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')
x1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y1 = np.random.randint(10, size=10)
z1 = np.random.randint(10, size=10)
x2 = [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10]
y2 = np.random.randint(-10, 0, size=10)
z2 = np.random.randint(10, size=10)
ax.view_init(elev=30, azim=-120)
ax.scatter(x1, y1, z1, c='b', marker='o', label='blue')
ax.scatter(x2, y2, z2, c='g', marker='D', label='green')
ax.set_xlabel('x axis')
ax.set_ylabel('y axis')
ax.set_zlabel('z axis')
plt.title("3D Scatter Plot Example")
plt.legend()
plt.tight_layout()
plt.show()
这将生成以下图形:
注意:
ax.view_init(elev=0, azim=60)
: 仰角为零会使图像看起来水平。ax.view_init(elev=-30, azim=60)
: 负仰角会上下翻转。这张图片 更好地解释了方位角和仰角的含义。
一旦您打开笔记本,您可以向下滚动到创建3D散点图的部分。在提供的示例中,似乎在第107行附近生成了3D散点图。