Jupyter | 如何旋转3D图形

Vin*_*eet 17 python matplotlib jupyter-notebook

我不确定如何在Python Jupyter笔记本中旋转图形,它对我来说是静态的,而不是在鼠标移动时旋转

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x =[1,2,3,4,5,6,7,8,9,10]
y =[5,6,2,3,13,4,1,2,4,8]
z =[2,3,3,3,5,7,9,11,9,10]

ax.scatter(x, y, z, c='r', marker='o')

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Han*_*rén 43

要启用交互性,您需要使用notebookmatplotlib 的后端.你可以通过运行来做到这一点%matplotlib notebook.

这必须在你绘制任何东西之前完成,例如:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d    

%matplotlib notebook

fig = ...
Run Code Online (Sandbox Code Playgroud)

  • 当我将它添加到我的Colab笔记本中时,它根本不显示动画:( ...即使我删除了该行,我也必须重新启动内核以使静止图形显示出来 (8认同)
  • 在“vscode”中运行 jupyter 时这似乎不起作用 (4认同)
  • 如果其他人与@Raksha 有相同的问题,则在导入模块之前,您需要将 `%matplotlib notebook` 放在代码的最顶部。并重新启动您的内核。也许您应该编辑答案以反映更通用的解决方案。 (3认同)
  • @HannesOvrén 即使在添加行 `%matplotlib Notebook` 而不是 `%matplotlib inline` 并重新启动内核后,我仍然无法获得可以旋转的交互式 3D 绘图!还有什么需要做的吗? (3认同)
  • 请注意,这是类似%matplotlib inline`之类的替代方法,因此请勿尝试将它们组合在一起。“ matplotlib.rcParams ['figure.figsize']”的效果并不完全匹配,因此您也需要对其进行调整。 (2认同)