我正在使用matplotlib生成3D图。我希望能够放大感兴趣的领域。目前,我能够平移但不能缩放。查看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)。
有没有办法启用Zoom? 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(如果相关,我可以查看版本)。
答案 0 :(得分:10)
实际上@tcaswell是正确的,这个功能不存在,所以它返回false。你是否尝试过绘图窗口上的缩放到矩形按钮?这非常有效。如果还没有,请参阅Interactive Navigation上的matplotlib说明。 您可以使用两种方式放大:
点击平移/缩放按钮:
按鼠标右键进行缩放,将其拖动到新位置。 x轴将与向右移动成比例缩放,并与向左移动成比例缩小。
点击缩放到矩形按钮:
将鼠标放在轴上并按住鼠标左键。按住鼠标的同时拖动鼠标到新位置并释放。
答案 1 :(得分:0)
您也可以在鼠标上拖动滚轮进行缩放。