jupyter notebook 实现matplotlib图动态刷新


Posted in Python onApril 22, 2020

我就废话不多说了,大家还是直接看代码吧!

import matplotlib
%matplotlib inline
from IPython import display

需要刷新的地方,画完图之后添加

display.clear_output(wait=True)

补充知识:jupyter notebook matplotlib绘制动态图并显示在notebook中

有些时候matplotlib 的绘图没法显示在notebook中,或者显示不了。这与backend有关。

首先启动你的notebook,输入

%pylab

查看你的matplotlib后端,我的输出为:

Qt5Agg

这是后端的渲染方式,使用的是qt5渲染。激活方式为在绘图之前插入代码段:

%matplotlib qt5

这样就能显示出图,但是是显示在notebook之外的,如果我使用%matplotlib inline,图的显示并不正常。我也不知道为什么,,,,,,,,,,,,,

如果你输出的后端为其他类型,建议查看下面的资料,直接输入对应的绘图激活方式。

补充知识:matplotlib 常用backend

matplotlib 使用简明教程(一)-基础概念

Matplotlib 是一个用于绘制图表的 Python 库,可以用来处理图片、绘制统计类的图表。

本文分为几篇,主要目的在于说明 Matplotlib 的一些使用方法。第一篇用于介绍 Matplotlib 的一些基本概念。

基本组成

以官网中图片说明 Matplotlib 图表中的基本组成成分。

jupyter notebook 实现matplotlib图动态刷新

figure:整个画布,包含一个或多个 axes

axes:画布中的某一个图表,包含一个 plot

artist:元素,包括图中所示的 label、line 等,也包括 plot

backend

每一种输出的能力都叫做一种 backend,在我的理解中有点类似渲染器。

IPython 中的魔法语句 %matplotlib xxxx 就是选择 backend。

选用哪种 backend,其优先级选取如下:

matplotlibrc 文件中的 backend

使用 MPLBACKEND 环境变量

使用 matplotlib.use() 函数,需要在导入 pyplot 前使用

backend 从种类上,分为可交互型(user interface)和不可交互型两种(hardcopy),如果希望查看本地支持的 backend 有哪些,可以使用

matplotlib.rcsetup.interactive_bk # 可交互型
matplotlib.rcsetup.non_interactive_bk # 不可交互型
matplotlib.rcsetup.all_backends # 所有 backend

获取当前的 backend 可以使用 matplotlib.pyplot.get_backend()

常用 backend 已在文尾附上。

交互模式

我理解,“交互模式”即代表着这个图标在绘制后可以动态变化,例如预设的动画以及用户的操作。

当开启交互模式后,绘制的图表会自动更新、绘制,如果希望手动更新图表,则使用 draw() 函数;而在非交互模式下,当所有后台绘制完成后,需要使用 show() 函数,才会将最终图表展示出来。

如果希望使用交互模式,需要选用可交互型的 backend。

通过 matplotlib.interactive() 设置交互模式的开启与关闭

通过 matplotlib.is_interactive() 查询当前实发支持交互模式

也可以通过 matplotlib.pyplot.ion() 和 matplotlib.pyplot.ioff() 来开启/关闭交互模式

附:常用 backend

不可交互型

AGG:渲染为 png 文件

PS:渲染为 ps 文件

PDF:渲染为 pdf 文件

SVG:渲染为 svg 文件

Cairo:使用 Cairo 引擎渲染

可交互型

Qt5Agg:使用 Qt5 渲染,IPython 中可使用 %matplotlib qt5

Qt4Agg:使用 Qt4 渲染,IPython 中可使用 %matplotlib qt4

ipympl:使用 ipympl 库,Ipython 中可使用 %matplotlib ipympl

macosx:使用 Cocoa 画布渲染,Ipython 中可使用 %matplotlib osx

nbAgg:Jupyter Notebook 中使用的 backend,Jupyter 中使用 %matplotlib notebook 来激活

WXAgg:使用 wxWidgets 库来渲染,Ipython 中可使用 %matplotlib wx

inline:严格地讲并不是一个 backend,这个 IPython 中的一个语法,表示把图表嵌入笔记中,使用 %matplotlib inline

以上这篇jupyter notebook 实现matplotlib图动态刷新就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
树莓派中python获取GY-85九轴模块信息示例
Dec 05 Python
Python常见数据结构详解
Jul 24 Python
python根据出生日期获得年龄的方法
Mar 31 Python
Python读取Excel的方法实例分析
Jul 11 Python
python DataFrame 修改列的顺序实例
Apr 10 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 Python
keras训练浅层卷积网络并保存和加载模型实例
Jul 02 Python
Python pip安装第三方库实现过程解析
Jul 09 Python
python爬取代理IP并进行有效的IP测试实现
Oct 09 Python
python中K-means算法基础知识点
Jan 25 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
Apr 22 #Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 #Python
Django数据结果集序列化并展示实现过程
Apr 22 #Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 #Python
TensorFlow使用Graph的基本操作的实现
Apr 22 #Python
如何在django中运行scrapy框架
Apr 22 #Python
TensorFlow实现批量归一化操作的示例
Apr 22 #Python
You might like
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
2018/10/10 PHP
JSON 数据格式介绍
2012/01/13 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
浅谈JsonObject中的key-value数据解析排序问题
2017/12/06 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
2018/07/30 Javascript
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
jquery插件懒加载的示例
2020/10/24 jQuery
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
用Python编程实现语音控制电脑
2014/04/01 Python
python通过线程实现定时器timer的方法
2015/03/16 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
Python面向对象进阶学习
2019/05/21 Python
Django框架模板的使用方法示例
2019/05/25 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
编写python代码实现简单抽奖器
2020/10/20 Python
幼儿园中班教学反思
2014/02/10 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
普通党员对照检查材料
2014/09/24 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
办公室主任个人总结
2015/02/28 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
工作调动申请报告
2015/05/18 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
2019个人半年工作总结
2019/06/21 职场文书
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏