博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matplotlib 交互式导航
阅读量:5927 次
发布时间:2019-06-19

本文共 1740 字,大约阅读时间需要 5 分钟。

hot3.png

交互式导航

Created Saturday 08 December 2012

所有的视图窗口[figure]都会有一个导航数据集的导航工具条,下面是在底部工具条的每个按钮的描述:

前进和后退按钮 

他俩和网页浏览器的前进和后退按钮是一样的。它们用来在前面定义过的视窗之间前进或者后退导航。如果没有使用移动和缩放按钮,那么前进后退按钮将没有任何意义。就好像在浏览新网页之前,点击浏览器的后退按钮一样,什么都没有发生。主页 总是导航到第一个默认的数据视图。对于主页,前进和后退,像网页浏览器,数据视图就像网页。使用移动/缩放按钮来重新定义矩形视窗。

移动/缩放按钮

这个按钮有两个模式:移动和缩放。点击这个按钮来触发移动和缩放,然后把鼠标放在坐标轴的一个地方。按住鼠标左键
不放然后在窗口视图上拖动。当你松开左键,在你点击那里的数据就会移动到你松开的地方。如果你按住'x'或者'y'的同时再移动,那么对应地x或者y轴就会束缚住。按住鼠标右键来缩放,拖放到新的位置。x轴的左右都会对应成比例的缩放。同理,y轴就会上下成比例缩放。你可以使用修改键 x, y,或者ctrl键来对应束缚缩放x轴,y轴或者纵横比

矩形缩放按钮

点击这个按钮来触发这个模式。把鼠标放到坐标轴上的某个位置,然后按住鼠标左键,拖动鼠标到新的位置,然后释放鼠标。那么坐标轴视野范围就会根据你定义的矩形来放大。而使用鼠标右键就是缩小。

子视图配置按钮

使用这个工具来配置子视图的参数。左,右,上,下,以及行距和列距的间隙。

保存按钮

点击这个按钮就会启动一个文件保存按钮。你可以保存为png,ps,eps,svg和pdf格式的文件。

4.1 导航键盘快捷键

下面表格包含了默认键,你可以使用你的matplotlibrc来重写(#keymap.*)

命令 键盘快捷键(s)
主页/重置 h or r or home
后退 c 或者左键 或者退格键
前进 v 或者右键
移动缩放 p
矩形缩放按钮 o
保存 s
触发全屏显示 f
束缚x轴移动缩放 按住 x
束缚y轴移动/缩放 按住 y
保持长宽比 按住CONTROL
 触发网格 g
触发x轴为对数或线性变化 L or k
触发y轴为对数或线性变化 l

如果你使用matplotlib.pyplot工具条都是自动创建的话,如果你想写自己的用户接口代码,你可以将工具条作为小部件。准确的语句是建立在你的用户界面上,我们为每个支持的用户界面都写了例子,在matplotlib/examples/user_interfaces目录。下面是GTK的例子:

from matplotlib.figure import Figurefrom matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvasfrom matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as NavigationToolbarwin = gtk.Window()win.connect("destroy", lambda x: gtk.main_quit())win.set_default_size(400,300)win.set_title("Embedding in GTK")vbox = gtk.VBox()win.add(vbox)fig = Figure(figsize=(5,4), dpi=100)ax = fig.add_subplot(111)ax.plot([1,2,3])canvas = FigureCanvas(fig) # a gtk.DrawingAreavbox.pack_start(canvas)toolbar = NavigationToolbar(canvas, win)vbox.pack_start(toolbar, False, False)win.show_all()gtk.main()

转载于:https://my.oschina.net/swuly302/blog/94658

你可能感兴趣的文章
illegal multibyte sequence python3
查看>>
shell变量/环境变量和set/env/export用法_转
查看>>
删除 oracle
查看>>
Google图片加载库Glide的简单封装GlideUtils
查看>>
用java调用.net的wcf其实还是很简单的
查看>>
<html>
查看>>
Project Euler:Problem 32 Pandigital products
查看>>
React-Native视频组件react-native-video使用(安卓版)
查看>>
com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
查看>>
OpenGL® ES 3.0 Programming Guide - Book Website
查看>>
Sql Server 优化 SQL 查询:如何写出高性能SQL语句
查看>>
合并Spark社区代码的正确姿势
查看>>
【神经网络】神经网络结构在命名实体识别(NER)中的应用
查看>>
@Springboot搭建项目controller层接收json格式的对象失败
查看>>
实现网站验证码切换功能
查看>>
Atom编辑Markdown文件保存后行尾的空格自动消失的问题解决
查看>>
jquery.cookie.js 使用小结
查看>>
3.菜鸟教你一步一步开发 web service 之 axis 服务端创建
查看>>
Rabbitmq~对Vhost的配置
查看>>
HTML基础第四讲---图像
查看>>