如何在Matplotlib中放大Axes3D

Ste*_*ell 13 python numpy zoom matplotlib

我正在使用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.
Run Code Online (Sandbox Code Playgroud)

can_zoom():

Return True if this axes supports the zoom box button functionality.

3D axes objects do not use the zoom box button.
Run Code Online (Sandbox Code Playgroud)

它们都返回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
Run Code Online (Sandbox Code Playgroud)

我在Ubuntu 14.04 64位桌面版机器上使用Python 2.7,默认存储库安装了matplotlib(如果相关,我可以查看版本).

Pac*_*ler 11

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

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

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

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

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

  • 您的评论使我尝试使用鼠标右键,这实际上放大了绘图的中心。这已经足够了,谢谢。我之前尝试过使用平移/缩放按钮和缩放到矩形按钮,但这些都不会改变鼠标右键或左键的功能。向左旋转 3D 绘图,向右放大中心。虽然它只放大中心,但我可以想出一种方法在数据周围绘制一个框,使其偏离中心以移动绘图中心。 (3认同)