如何在Matplotlib中使用Axes3D缩放

史蒂文·豪威尔

我正在使用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错误)。

有没有启用缩放的方法?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

我正在从默认存储库安装了matplotlib的Ubuntu 14.04 64位桌面版本计算机上使用Python 2.7(如果相关,我可以查找版本)。

太平洋斯蒂克勒

实际上@tcaswell是正确的,因为该功能不存在,因此它返回false。您是否尝试过在绘图窗口上使用“缩放至矩形”按钮?那很好。如果还没有,请参考《交互式导航》中的matplotlib说明您可以使用两种方式放大:

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

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

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

    将鼠标放在某处和轴上,然后按鼠标左键。按住按钮的同时拖动鼠标到新位置并释放。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在python的Axes3D中使用循环绘制图例?

如何在标准图中直接使用matplotlib中的Axes3D以避免flake8错误

如何在matplotlib中删除Axes3D图形上的比例/轴?

如何抑制/忽略(/修复)matplotlib Axes3D ValueError?

如何在Matplotlib Axes3D散点图上绘制多个数据集而不删除先前的数据?

如何在UWP中使用3级语义缩放?

如何在matplotlib中使用xy数据设置quiverkey长度缩放?

Axes3D:尝试构建3D图时,Numpy数组错误

如何在Python matplotlib中正确缩放3d Quiver图?

如何在整个视图中使用UIPinchGestureRecognizer来缩放整个屏幕?Swift 3,IOS

在循环中使用 fig,axes matplotlib

如何在opengl / pyglet中使用HUD缩放相机?

如何在 Kubernetes 中使用自动缩放行为?

如何在Kubernetes中使用VPA自动缩放弹性搜索?

如何在Keras Tensorflow 2.3中使用随机缩放

如何在php gd中使用插值缩放图像?

如何在paraview中使用对数缩放显示负值

如何在熊猫中使用缩放填充 N/A 值

在D3中使用画笔设置初始缩放

在D3中使用画笔设置初始缩放

如何在Matplotlib中使用坐标?

如何在matplotlib中使用Humor Sans?

如何在matplotlib中使用unicode符号?

如何在holoviews中使用matplotlib后端

如何在'Matplotlib'中使用xy参数?

如何在使用C ++的cocos2d-x iOS游戏中使用json时进行缩放

如何在引导程序中使用d3

D3 - 如何在输入中使用条件语句

如何在Unity3d中使用Admob InterstitialAd?