如何在Matplotlib中放大Axes3D

时间:2014-08-29 20:26:46

标签: python numpy matplotlib zoom

我正在使用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(如果相关,我可以查看版本)。

2 个答案:

答案 0 :(得分:10)

实际上@tcaswell是正确的,这个功能不存在,所以它返回false。你是否尝试过绘图窗口上的缩放到矩形按钮?这非常有效。如果还没有,请参阅Interactive Navigation上的matplotlib说明。 您可以使用两种方式放大:

  1. 点击平移/缩放按钮:

      

    按鼠标右键进行缩放,将其拖动到新位置。 x轴将与向右移动成比例缩放,并与向左移动成比例缩小。

  2. 点击缩放到矩形按钮:

      

    将鼠标放在轴上并按住鼠标左键。按住鼠标的同时拖动鼠标到新位置并释放。

答案 1 :(得分:0)

您也可以在鼠标上拖动滚轮进行缩放。