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

matplotlib 使用简明教程(一)-基础概念
基本组成
backend
交互模式
附:常用 backend
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
系列文章:

matplotlib 使用简明教程(一)-基础概念:
https://blog.csdn.net/fenghuizhidao/article/details/79352882
matplotlib 使用简明教程(二)-常用图表
https://blog.csdn.net/fenghuizhidao/article/details/83090043
matplotlib 使用简明教程(三)-一些专业图表简介
https://blog.csdn.net/fenghuizhidao/article/details/83090165
matplotlib 使用简明教程(四)-辅助性元件
https://blog.csdn.net/fenghuizhidao/article/details/83090249
matplotlib 使用简明教程(五)-画布、图表、元素基础操作
https://blog.csdn.net/fenghuizhidao/article/details/83090320
matplotlib 使用简明教程(六)-图像、动画相关
https://blog.csdn.net/fenghuizhidao/article/details/83090512
matplotlib 使用简明教程(七)-样式定义
https://blog.csdn.net/fenghuizhidao/article/details/83090553
————————————————
版权声明:本文为CSDN博主「平头某」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fenghuizhidao/article/details/79352882

posted @ 2021-08-04 10:44  常给自己加个油  阅读(430)  评论(0编辑  收藏  举报