我正在使用matplotlib生成一个三维图。我希望能够在感兴趣的区域内进行缩放。目前,我可以平移但无法缩放。通过查看mplot3d API,我了解到can_pan():
的用法。
Return True if this axes supports the pan/zoom button functionality.
3D axes objects do not use the pan/zoom button.
并且 can_zoom():
Return True if this axes supports the zoom box button functionality.
3D axes objects do not use the zoom box button.
我认为两者都返回False(我认为can_pan返回False是因为轴不能同时平移和缩放,但也许我没有正确阅读API)。是否有一种方法可以启用缩放?API表明它不使用按钮。是否有一些方法可以启用缩放或设置can_pan()
和can_zoom()
以返回True
?
以下是代码片段:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
data = np.genfromtxt('data_file.txt')
fig1 = plt.figure()
ax1 = fig1.gca(projection='3d')
ax1.scatter(data[:,0],data[:,1],data[:,2], c='r', marker='.')
plt.show()
ax1.can_zoom()
>>> False
ax1.can_pan()
>>> False
我正在一台装有 Ubuntu 14.04 64位桌面版的机器上使用 Python 2.7,并且已从默认存储库中安装了 matplotlib(如果相关,我可以查看版本)。
can_pan
和can_zoom
返回true的原因是当前不存在这个功能。 - tacaswellcan_zoom()
或者can_pan()
返回True
。你是说要编写一个能实现这个功能的方法吗? - Steven C. HowellAxes3D
类目前尚未实现通过矩形缩放或平移的功能。如果您想在Axes3D
中看到这些功能,请自行实现它们。 - tacaswell