Python matplotlib底层原理是什么

发布时间:2021-12-01 11:05:45 作者:iii
来源:亿速云 阅读:147

本篇内容介绍了“Python matplotlib底层原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. matplotlib 框架组成

matplotlib 模块在众多数据可视化库中可以可以实现复杂的底层操作。像gglotseabornplotnline 底层都是基于matplotlib 模块去封装不同风格的统计图表。

matplotlib 模块底层主要是由三部分组成脚本层、美工层和后端层。

Python matplotlib底层原理是什么

PS:matplotlib框架说明

2. 脚本层(scripting)

脚本层属于matplotlib模块中最上层,主要为用户提供可视化编程的接口,代表pyplot模块。

对于普通用户,pyplot接口可以满足大多数文本的图像和坐标的生成,传给后端进行处理。

matplotlib.pyplot接口导入时,通常是import matplotlib.pyplot as plt

pyplot 模块提调用matplotlib的方法

用户只需调用pyplot模块相关的方法,就可以绘制漂亮的图表啦

from matplotlib import pyplot

import pandas

pyplot.rcParams["font.sans-serif"]=['SimHei']
pyplot.rcParams["axes.unicode_minus"]=False

pyplot.bar([1,2,3,4,5,6],[45,20,19,56,35,69])

pyplot.title("data analyze")
pyplot.xlabel("元素 a")
pyplot.ylabel("元素 b")

pyplot.show()

Python matplotlib底层原理是什么

3. 美工层(artist)

在美工层位于matplotlib中间层,主要进行数据相关的绘制工作,绘制图表中的标题、直线、刻度等都是artist对象的实例。

artist 层特点

matplotlib 图表对象

我们可以通过如下matplotlibe图表中可以看到一张图表由多个对象组合而成的。

Python matplotlib底层原理是什么

matplotlib 图表对象说明

对象说明
Figure图形,弹出框口即是figure
axes子图
title标题
legend图例
Major tick大标尺刻度
Minor tick小标尺刻度
Line线型图
axis label坐标指标说明
Marker数据标准说明

Artist 对象说明

ArtIst 对象包含FigureAxesAxis对象,是它们的基类,其Artist对象都全部位于后端提供的canvas画布上。

Figure

Axes

Axis

Artist对象层级结构图如下

Python matplotlib底层原理是什么

4. 后端层(backend)

后端层主要是matplotlib 模块底层实现,主要实现了三方面的抽象接口 4.

FigureCanvas:对Artist对象绘制提供画布功能进行封装

matplotlib 模块底层是基于硬的用户画面,FigureCaves接口主要完成前期初始化工作

Renderer: 相当于画笔,执行绘制动作

Render 主要提供硬件底层的绘图接口,能对Artist绘制命令进行执行。

Event: 处理用户键盘和鼠标输入事件

Event 框架是将key-press-event或者mouse-motion-event等UI事件映射到键盘或者鼠标事件类中。

“Python matplotlib底层原理是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. Docker的底层原理是什么
  2. Java NIO底层原理是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python matplotlib

上一篇:Docker如何安装mysql并解决中文乱码问题

下一篇:Python Pandas工具绘制数据图怎么实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》