文档章节

matplotlib 交互式导航

LianyouCQ
 LianyouCQ
发布于 2012/12/08 16:17
字数 884
阅读 791
收藏 1

交互式导航

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 Figure
from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas
from matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as NavigationToolbar

win = 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.DrawingArea
vbox.pack_start(canvas)
toolbar = NavigationToolbar(canvas, win)
vbox.pack_start(toolbar, False, False)

win.show_all()
gtk.main()

© 著作权归作者所有

共有 人打赏支持
LianyouCQ

LianyouCQ

粉丝 58
博文 92
码字总数 51532
作品 0
沙坪坝
程序员
Python Shell下使用matplotlib

Python Shell下使用matplotlib Created Monday 10 December 2012 matplotlib默认是延迟绘图直到脚本结束,因为绘图是一个高代价的操作。所以可能不想每次每个属性的改变就更新绘图,只有所有...

LianyouCQ
2012/12/10
0
0
Python 调用 matplotlib 实现交互式数据可视化图表案例

交互式的数据可视化图表是 New IT 新技术的一个应用方向,在过去,用户要在网页上查看数据,基本的实现方式就是在页面上显示一个表格出来,的而且确,用表格的方式来展示数据,显示的数据量会...

xjtuhit
06/11
0
0
Pycon 2017: Python可视化库大全

前言 本文主要摘录自 pycon 2017大会的一个演讲,同时结合自己的一些理解。 pycon 2017的相关演讲主题是“The Python Visualization Landscape”。 先来一张全景图镇楼~~ 看完这张图是不是有...

lemon
2017/07/29
0
0
matplotlib中什么是后端

什么是后端 Created Monday 10 December 2012 在很多网上文档和邮件列表中提到了"后端",并且很多初学者会对这个术语迷惑。matplotlib把不同使用情形和输出格式作为目标。一些人用matplotli...

LianyouCQ
2012/12/10
0
0
基于 Python 的图表绘图系统--matplotlib

matplotlib,风格类似 Matlab 的基于Python的图表绘图系统。 matplotlib 是 Python 最著名的绘图库,它提供了一整套和 matlab 相似的命令 API,十分适合交互式地进行制图。而且也可以方便地将...

匿名
2010/05/23
20K
1

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
27
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部