如何在 Matplotlib 中禁用 3D 绘图的垂直相机旋转



我有 3D 绘图表面。我想禁用这个情节的垂直相机旋转。

默认情况下,

您只能禁用绘图的鼠标:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
X, Y, Z = axes3d.get_test_data(0.1)
# disable mouse
ax.disable_mouse_rotation()
ax.plot_wireframe(X, Y, Z, rstride=5, cstride=5)
# set start rotation 
ax.view_init(30, 120)
plt.show()

我的解决方案:

def disable_vert_rotation(event):
    azim = ax.azim
    ax.view_init(elev=0, azim=azim)

fig.canvas.mpl_connect('motion_notify_event', disable_vert_rotation)

相关内容

  • 没有找到相关文章

最新更新