jupyter notebook 实现matplotlib图动态刷新

 更新时间:2020年04月22日 15:08:35   作者:薛定谔的哈士奇啊  
这篇文章主要介绍了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图动态刷新就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python获取天气接口给指定微信好友发天气预报

    python获取天气接口给指定微信好友发天气预报

    这篇文章主要介绍了python获取天气接口给指定微信好友发天气预报的步骤,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-12-12
  • Python运行异常管理解决方案

    Python运行异常管理解决方案

    这篇文章主要介绍了Python运行异常管理解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • pandas如何实现两个dataframe相减

    pandas如何实现两个dataframe相减

    这篇文章主要介绍了pandas如何实现两个dataframe相减方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • pycharm中使用request和Pytest进行接口测试的方法

    pycharm中使用request和Pytest进行接口测试的方法

    这篇文章主要介绍了pycharm中使用request和Pytest进行接口测试的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • python-try-except:pass的用法及说明

    python-try-except:pass的用法及说明

    这篇文章主要介绍了python-try-except:pass的用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python中类方法@classmethod和静态方法@staticmethod解析

    Python中类方法@classmethod和静态方法@staticmethod解析

    这篇文章主要介绍了Python中类方法@classmethod和静态方法@staticmethod解析,python中存在三种方法,分别为常规方法(定义中传入self)、@classmethod修饰的类方法、@staticmethod修饰的静态方法,,需要的朋友可以参考下
    2023-08-08
  • python编程语言中pathlib模块简介及使用

    python编程语言中pathlib模块简介及使用

    pathlib模块类似os模块,包含了对创建和删除目录、读写文件、获取文件所在目录不同部分字段、判断文件是否存在,是否为文件和文件夹、文件统计和匹配查找,这篇文章主要介绍了python编程语言中pathlib模块简介及使用,需要的朋友可以参考下
    2023-09-09
  • python 实时遍历日志文件

    python 实时遍历日志文件

    这篇文章主要介绍了python 实时遍历日志文件 的相关资料,需要的朋友可以参考下
    2016-04-04
  • Python中关于函数的具体用法范例以及介绍

    Python中关于函数的具体用法范例以及介绍

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数
    2021-09-09
  • python爬虫将js转化成json实现示例

    python爬虫将js转化成json实现示例

    这篇文章主要为大家介绍了python爬虫将js转化成json实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05

最新评论