我有 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)