jupyter notebook 实现matplotlib图动态刷新

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

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 图表中的基本组成成分。

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图动态刷新就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 查看jupyter notebook每个单元格运行时间实例

    打开jupyter notebook, 进入这儿: 搜索框里搜索time,并选中Execute Time,大功告成!!! 最后是这样的, 很方便有木有(如果不行可以尝试重启一下jupyter notebook). 之前有见过其他方法: 命令行里输入: pip install jupyter_contrib_nbextensions jupyter contrib nbextension install --user jupyter nbextension enable execute_time/

  • 浅谈JupyterNotebook导出pdf解决中文的问题

    1.将ipynd编译成tex 建议将其放在桌面处理 ipython nbconvert -to latex pdf.ipynb 2.修改tex 双击打开转换的文件在\documentclass{article}后面插入 \usepackage{fontspec, xunicode, xltxtra} \setmainfont{Microsoft YaHei} \usepackage{ctex} 3.编译tex 生成pdf xelate pdf.tex 补充知识:Jupyter notebook

  • jupyter notebook 添加kernel permission denied的操作

    为什么要手动添加核? 因为使用公司的服务器,最好不要直接使用anaconda自带的python,更不要使用系统下自带的python,如果每个人都使用同一个python,可能会给别人的工作带来"致命的伤害". 怎么添加? 正常情况: python -m ipykernel install --name your_env_name (your_env_name 代表你的python环境的名字) 如果出现 error13 permiss denied:/usr/local/share/jup

  • Jupyter Notebook折叠输出的内容实例

    一.问题描述 当Jupyter Notebook的输出内容很多时,为了屏幕可以显示更多的代码行,我需要将输出的内容进行折叠. 二.解决方法 1.鼠标操作 (1)鼠标左键双击输出单元格的左侧灰色区域. (2)展开:鼠标左键单机下方的灰色区域即可.如下图所示: 2.快捷键操作 (1)按Esc键 (2)按字母O (3)展开:同上. 补充知识:Python 找出出现次数超过数组长度一半的元素实例 利用问题的普遍性和特殊性来求解,代码如下: import unittest from datetime im

  • 解决matplotlib.pyplot在Jupyter notebook中不显示图像问题

    在代码首行添加: %matplotlib inline 即可. 补充知识:jupyter不能显示Matplotlib 动画 看莫烦老师的matplotlib教程中,有一段sinx函数动画,用Jupyter跑却不能显示动画效果. 解决方案:在前面加一句%matplotlib notebook 动画代码如下: %matplotlib notebook import tensorflow as tf import numpy as np import matplotlib.pyplot as plt

  • 解决Jupyter notebook中.py与.ipynb文件的import问题

    在jupyter notebook中,因为其解析文件的方式是基于json的,所以其默认保存的文件格式不是.py而是.ipynb.而.ipynb文件并不能简单的import进.py或者.ipynb文件中,这就为开发带来了极大不便.因为在jupyter notebook中,一定要是在默认的.ipynb下才能有一系列的特性支持,比如自动补全,控制台等待,而.py文件只能通过文本编辑器修改,非常非常不便. 因为.ipynb可以import .py的module,所以其中一个解决方法是将已经写好的.ipy

  • jupyter notebook中新建cell的方法与快捷键操作

    jupyter notebook中,你可能需要在当前cell的上面或下面添加新的cell,通过菜单栏.工具栏和快捷键可以实现 菜单栏: 工具栏: 但工具栏中的+号只能在当前cell的下方加新的cell 快捷键: 在当前cell上方新建cell:A 在当前cell下方新建cell:B 注意: 大写状态下的A和小写状态下的a都可以 快捷键方式都是要在非编辑状态下按下才有用 非编辑状态: 编辑状态: 编辑状态下可以按Esc到非编辑状态 另外,有两个经常会用到的快捷键: 执行当前cell,并自动跳到下一

  • jupyter notebook 实现matplotlib图动态刷新

    我就废话不多说了,大家还是直接看代码吧! import matplotlib %matplotlib inline from IPython import display 需要刷新的地方,画完图之后添加 display.clear_output(wait=True) 补充知识:jupyter notebook matplotlib绘制动态图并显示在notebook中 有些时候matplotlib 的绘图没法显示在notebook中,或者显示不了.这与backend有关. 首先启动你的notebo

  • Jupyter Notebook输出矢量图实例

    相信大家都很熟悉在 Jupyter Notebook 上面用 Matplotlib 了,但是不知道大家看到画出来那一坨糊糊的东西会不会跟我一样浑身难受.实际上,只要多加一行配置,就能够让 Matplotlib 在 Jupyter Notebook 上面输出矢量图了: import matplotlib import matplotlib.pyplot as plt %matplotlib inline %config InlineBackend.figure_format = 'svg' 上面的

  • matplotlib jupyter notebook 图像可视化 plt show操作

    一.可视化库导入 %matplotlib inline import matplotlib.pyplot as plt 二.显示彩色图像 plt.figure(figsize=(15,10)) plt.imshow(img) plt.show() 前提是,img是以彩色图像读入的 如果采用opencv读入的图像,通道顺序为BGR,PLT显示图像是以RGB顺序的,可以采用以下代码: plt.figure(figsize=(15,10)) plt.imshow(cv2.cvtColor(input_

  • 在Python中画图(基于Jupyter notebook的魔法函数)

    这篇文章主要介绍了在Python中画图(基于Jupyter notebook的魔法函数),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先展示一段相关的代码: #we test the accuracy of knn and find the k which makes the biggest accuracy k_range=list(range(1,26))#[1,25] scores=[] for k in k_range: knn=KN

  • jupyter notebook插入本地图片的实现

    如何在Jupyter Notebook中插入本地图片? 我在网上搜索的时候,看到网上写的都是,将cell调节成为markdown cell, 然后输入下面的代码 ![title](img/picture.png) 于是,在调节了路径之后,我按照上方的说明进行了操作,但是显示图片无法显示. 我思考了一下,才意识到,上面代码中的img是表示这里有一个文件夹,也就是说,我们需要先将我们的图片,放在一个叫做img 的文件夹里面,上面的代码才可以顺利进展下去. 补充知识:Jupyter Notebook显

  • 在jupyter notebook中调用.ipynb文件方式

    正常来说在jupyter notebook 中只能调用.py文件,要想要调用jupyter notebook自己的文件会报错. Jupyter Notebook官网介绍了一种简单的方法: http://jupyter-notebook.readthedocs.io/en/latest/examples/Notebook/Importing%20Notebooks.html 添加jupyter notebook解析文件 首先,创建一个python文件,例如Ipynb_importer.py,代码如

  • Python安装Jupyter Notebook配置使用教程详解

    为什么要用Jupyter Notebook 推荐新手写python用什么编辑器就有有人问:为什么没有Jupyter Notebook.本来想数据分析和可视化的时候才介绍的,所以没有加上.最近要截图比较多,用Jupyter Notebook可以很好看到代码和结果. Jupyter Notebook是什么 Jupyter Notebook是一个开源的web应用程序,一个交互式笔记本,支持运行 40 多种编程语言.它允许您创建和共享文档,包含代码,方程,可视化和叙事文本.用途包括:数据清洗和转换,数值

  • jupyter notebook中图片显示不出来的解决

    报错: D:\Program Files\Anaconda3\lib\site-packages\matplotlib\figure.py:445: UserWarning: Matplotlib is currently using module://ipykernel.pylab.backend_inline, which is a non-GUI backend, so...... 解决方法: import matplotlib matplotlib.use('TkAgg') import

  • 解决jupyter notebook图片显示模糊和保存清晰图片的操作

    jupyter notebook 图片显示模糊的解决办法 加入这几行代码即可: 矢量图设置 import matplotlib.pyplot as plt %matplotlib inline %config InlineBackend.figure_format = 'svg' 也可以把svg改为retina import matplotlib.pyplot as plt %matplotlib inline %config InlineBackend.figure_format = 'ret

随机推荐