网站首页 > 技术文章 正文
本篇文章介绍matplotlib包使用时,需要掌握的一些基本概念。 下图显示了matplotlib图形的基本构成部分,如figure(图形)、axes(子图形)、title(标题)、legend(图例)、Major tick(大标尺刻度)、Minor tick(小标尺刻度)、Major tick label(大标尺刻度数值)、Minor tick label(小标尺刻度数值)、Y axis label(y轴指标说明)、X axis label(x轴指标说明)、Line(线型图)、Markers(数据标注点)、Grid(格子)等等。除了图中显示的红蓝线型图和散点图,matplotlib还能绘制柱形图、烛型图、饼图、3D图形等等各种个性化图形,将在后续文章一一介绍。
matplotlib图形的几个主要对象:
- Figure对象
- 整个图形即是一个Figure对象。
- Figure对象至少包含一个子图,也就是Axes对象。
- Figure对象包含一些特殊的Artist对象,如title标题、图例legend。
- Figure对象包含画布canvas对象。 canvas对象一般不可见,通常无需直接操作该对象,matplotlib程序实际绘图时需要调用该对象。
- Axes对象
- 字面上理解,axes是数据轴axis的复数,但它并不是指数据轴,而是子图对象。可以这样理解,每一个子图都有x和y轴,axes则用于代表这两个数据轴所对应的一个子图对象。
- 常用方法
- set_xlim()以及set_ylim():设置子图x轴和y轴对应的数据范围。
- set_title():设置子图的标题。
- set_xlabel()以及set_ylable():设置子图x轴和y轴指标的描述说明。
- Axis对象
- Axis是数据轴对象,主要用于控制数据轴上刻度位置和显示数值。
- Axis有Locator和Formatter两个子对象,分别用于控制刻度位置和显示数值。
- Artist对象
- 基本上所有的对象都是一个Artist对象,包括Figure对象、Axes对象和Axis对象,可以将Artist理解为一个基本类。
- 当提交代码,图像最终呈现时,所有的artist对象都会绘制于canvas画布上。
可能不少人看到这里会有些晕,不过不要紧,这里只需要粗略了解下matplotlib面向对象编程中涉及的一些基本对象,后面会有具体的例子来帮助理解。
小编目前使用的OSX系统,其中python版本为3.6.5、Matplotlib版本为3.0.0、编辑器为Sublime Text 3。
例1 :
图形显示如下
特别留意两个标题,一个是figure's title,另一个是subplot 3's title。虽然现在子图上没有任何数据,但是通过这个图形能一目了然figure和axes之间的关系。
后续将介绍如何在子图上画图,欢迎关注。
- 上一篇: 将特征转换为正态分布的一种方法示例
- 下一篇: Kernel分类器(hear分类器)
猜你喜欢
- 2024-10-14 Python之Matplotlib数据可视化一:简易线形图
- 2024-10-14 圆:circle-sin-cos动画的matplotlib
- 2024-10-14 python 100天 68 利用Python绘制两个波形正弦sin函数相关性
- 2024-10-14 画直线不简单!python-matplotlib告诉你为什么
- 2024-10-14 用Python下一场流星雨,女生看了都哭了
- 2024-10-14 手把手教你使用Numpy、Matplotlib、Scipy等5个Python库
- 2024-10-14 走进Matplotlib世界(一)(matplotlib.org)
- 2024-10-14 Python 数据分析——matplotlib 坐标变换和注释
- 2024-10-14 利用axe对象绘制地图局部缩放图(下面几种建模对象能通过基本实体工具直接绘制的是)
- 2024-10-14 Python动态绘图的方法(上)(canvas python动态绘图)
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)