当前位置:网站首页>matplotlib绘图的核心原理讲解(超详细)
matplotlib绘图的核心原理讲解(超详细)
2022-08-02 21:23:00 【51CTO】
1、核心原理讲解
使用matplotlib绘图的原理,主要就是理解figure(画布)、axes(坐标系)、axis(坐标轴)三者之间的关系。
张三的画板
matplotlib绘图
2、matplotlib库的安装与导入
1)安装
2)导入相关库
现在你不需要关注下面代码具体是什么意思,有一个主观印象即可。我将会在以后的文章中,给大家一一介绍你不懂的哪些参数。
结果如下:
3、创建figure(画布)的两种方式
1)绘制一个最简单的折线图
结果如下:
结果分析:
在前面的叙述中,我们已经说过,想要使用matplotlib绘图,必须先要创建一个figure(画布)对象,然后还要有axes(坐标系)。但是观察上述代码,我们并没有创建figure对象,那么怎么又可以画图呢?
对于上述疑问,接下来我们就要讲述创建figure(画布)的两种方式。
2)创建figure(画布)的两种方式
- 隐式创建
- 显示创建
① 隐式创建figure对象
当第一次执行plt.xxx()这句绘图代码时,系统会去判断是否已经有了figure对象,如果没有,系统会自动创建一个figure对象,并且在这个figure之上,自动创建一个axes坐标系(注意:默认创建一个figure对象,一个axes坐标系)。
也就是说,如果我们不设置figure对象,那么一个figure对象上,只能有一个axes坐标系,即我们只能绘制一个图形。
② 隐式创建figure对象存在的问题
优势:如果只是绘制一个小图形,那么直接使用plt.xxx()的方式,会自动帮我们创建一个figure对象和一个axes坐标系,这个图形最终就是绘制在这个axes坐标系之上的。
劣势:如果我们想要在一个figure对象上,绘制多个图形,那么我们就必须拿到每个axes对象,然后调用每个位置上的axes对象,就可以在每个对应位置的坐标系上,进行绘图,如下图所示。注意:如果figure对象是被默认创建的,那么我们根本拿不到axes对象。因此,需要我们显示创建figure对象。
③ 显示创建figure对象:以后的文章会详细讲述布局设置
如图所示:
举例说明:
结果如下:
4、完整的绘图步骤
① 导库
② 创建figure画布对象
③ 根据figure对象进行布局设置
④ 获取对应位置的axes坐标系对象
⑤ 调用axes对象,进行对应位置的图形绘制
⑥ 显示图形
5、绘图技巧(细节设置)
通过对matplotlib绘图的原理,有所了解之后,我们需要学习的就是常见的matplotlib绘图技巧,常见的绘图技巧如上所示,这些绘图技巧都能够很好的帮助我们画出更美观、更直观的图形。下一节,我将会讲述matplotlib绘图技巧(千万不要错过)。
边栏推荐
- 最近火爆朋友圈的“广告电商”,核心商业模式是什么,广告收入真实靠谱吗?
- 我用这一招让团队的开发效率提升了 100%!
- Swin Transformer 论文精读,并解析其模型结构
- 【STM32学习3】DMA基础操作
- 模糊查询like用法实例(Bee)
- 博客主题美化第二弹
- HCIP--路由策略实验
- 四、字符常量 & 字符串
- The interviewer asked me: delete library, in addition to run do?
- What is the core business model of the "advertising e-commerce" that has recently become popular in the circle of friends, and is the advertising revenue really reliable?
猜你喜欢
PyRosetta 安装方法之Conda安装
Use the TCP protocol, we won't lost package?
汇编语言中b和bl关键字的区别
饥荒联机版Mod开发——制作简单的物品(三)
字节内部技术图谱 惊艳级实用
What is the core business model of the "advertising e-commerce" that has recently become popular in the circle of friends, and is the advertising revenue really reliable?
CS5213 chip | HDMI to VGA converter chip data sharing
FRED应用:激光二极管光源耦合到光纤的仿真
IP协议(网际协议)
Interviewer: can you talk about optimistic locking and pessimistic locks
随机推荐
golang 刷leetcode:祖玛游戏
【3D视觉】深度摄像头与3D重建
命令行启动常见问题及解决方案
Flink-SQL
Jar包启动通过ClassPathResource获取不到文件路径问题
快速构建电脑软件系统 、超好用经典的网页推荐汇总
四、字符常量 & 字符串
解道8-编程技术5
HCIP--路由策略实验
golang刷leetcode:巫师的总力量和
golang刷letcode:公司命名
用户之声 | 我与GBase的缘分
用户之声 | GBASE南大通用实训有感
VisualStudio 制作Dynamic Link Library动态链接库文件
你我都会遇到的需求:如何导出MySQL中的数据~ 简单!实用!
测试ESP32-Zigbee转发命令 : 滑轨、继电器控制
golang刷leetcode: 在每个树行中找最大值
以赛促练-力扣第304场周赛反思(持续更新中)
单例模式你会几种写法?
二叉搜索树的实现