6

我正在尝试更改我的图形的一个子图中的角度,这是一个 3d 图。我愿意:

import matplotlib.pyplot as plt
f1 = plt.figure()
ax1 = f1.add_subplot(2, 1, 1, projection='3d')
ax1.view_init(20, -120)

但这并没有改变看法。我究竟做错了什么?

4

1 回答 1

4

添加后

from mpl_toolkits.mplot3d import Axes3D

对于您的导入,您的代码应该可以正常工作。这是我使用的完整代码:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
f1 = plt.figure()
ax1 = f1.add_subplot(2, 1, 1, projection=Axes3D.name)
ax1.view_init(20, -120)
plt.show()

由此可见:

图1

并将其与另一个视图进行比较,ax1.view_init(-120, 20)例如,它显示:

图 2

顺便说一句,linter 可能会抱怨 "unused import" Axes3D,所以projection='3d'我没有projection=Axes3D.name在上面的代码中编写。请参阅如何在标准绘图中直接使用 matplotlib 中的 Axes3D 以避免 flake8 错误以供进一步阅读。

于 2020-02-22T11:56:56.693 回答