matplotlib 组织图表的方式

最上层是一个 Figure 实例,包含了所有可见的和其他一些不可见的内容。该 Figure 实例包含了一个 Axes 实例的成员属性 Figure.axes,同时也有一个访问器方法来获取 Axes 实例 get_axes()。Axes 实例几乎包含了我们所关心的所有东西,如所有的线、点、刻度和标签。因此,当调用 plot() 方法时,就会向 Axes.lines 列表添加一个线条的实例(matplotlib.lines.Line2D)。如果调用 hist() 方法绘制了一个直方图,就会向 Axes.patches 列表中添加许多矩形。

Axes 实例也包含了 XAxis 和 YAxis 实例的引用,分别指向相应的x轴和y轴。XAxis 和 YAxis 管理坐标轴、标签、刻度、刻度标签、定位器、和格式器的绘制,我们可以通过 Axes.xaxis 和 Axes.yaxis 分别XAxis和YAxis。

在 matplotlib 中,整个图像为一个 Figure 对象。在 Figure 对象中可以包含一个或者多个 Axes 对象。每个 Axes(ax)对象都是一个拥有自己坐标系统的绘图区域。如下图:

下面以一个直线图来详细讲解图像内部各个组件的内容,其中,Title为图像标题,Label为坐标轴的标注,Tick为刻度线,Tick Label为刻度注释。这些对象的关系如右图所示。

图像中所有对象均来自Artist基类。

一个 Figure 意味着用户交互的整个窗口,在这个 Figure 中容纳这 subplots

当我们调用 plot() 时,matplotlib 会调用 gca() 获取当前的 axes 绘图区域,而且 gca() 反过来调用 gcf() 来获得当前的 figure。如果 figure 为空,它会自动调用 figure() 生成一个 figure,严格来讲,是生成 subplots(111)

matplotlib -- 基础知识的更多相关文章

  1. Matplotlib基础知识

    Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis水平和垂直的轴线 x轴和y轴刻度 tick刻度标示坐标轴的分隔,包括最小刻度和最大刻度 x轴和y轴刻度标签 ...

  2. matplotlib基础知识全面解析

    图像基本知识: 通常情况下,我们可以将一副Matplotlib图像分成三层结构: 1.第一层是底层的容器层,主要包括Canvas.Figure.Axes: 2.第二层是辅助显示层,主要包括Axis.S ...

  3. Matplotlib基础使用

    matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis 水平和垂直的轴线 x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括最小刻度 ...

  4. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

  5. 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))

    关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...

  6. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  7. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  8. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  9. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

随机推荐

  1. leetcode966

    class Solution(object): def spellchecker(self, wordlist: 'List[str]', queries: 'List[str]') -> 'L ...

  2. nodejs 实现文件拷贝

    通过4中不通的方式实现对一个文件的拷贝 方式一:readFile 异步一次性读取文件再写入 //异步形式读取文件 function copyFile(url){ const extName = pat ...

  3. Java后端面试的一切技巧和常见的问题经验总结

    原文地址:cnblogs.com/JavaArchitect/p/10011253.html 上周,密集面试了若干位Java后端候选人,工作经验在3到5年间.我的标准其实不复杂(适用90%小小小公司, ...

  4. java将错误信息写入文件

    第一种办法可以通过字符串,也就是先把错误信息写入字符串,再将字符串写入文件 import java.io.*; public class Demo { public static void main( ...

  5. Tornado框架配置使用Jinja2模板引擎

    安装jinja2包 pip install jinja2 定义继承tornado.web.RequestHandler的子类BaseHandler.如果请求处理类继承这个类将会使用jinja模板引擎: ...

  6. jmeter安装和使用-个人总结

    幼儿园版本服务器接口地址:http://10.50.10.78:8666/document/api/#api-account-login 一,安装 1.将jmeter下载后,解压目录放到本地非中文文件 ...

  7. gitlab 注册runner

    个人pc注册runner 注册gitlab-runner ```textPlease enter the gitlab-ci coordinator URL (e.g. https://gitlab. ...

  8. 使用WebClient调用第三方接口

    需要调用一个第三方接口,传参返回数据 本来是很简单的一个需求,搞了一天没整好 首先在POSTMAN中测试没有问题,但是使用jquery ajax在前台就会涉及到跨域 虽然设置了 无论怎么写都会报错 C ...

  9. 大数据入门到精通17--union all 和disctinct 的用法

    一.union all 的用法.使用union all 或者 unionselect * from rental where rental_id <10union allselect * fro ...

  10. Python数据结构与算法相关问题与解决技巧

      1.如何在列表, 字典, 集合中根据条件筛选数据¶ In [1]: from random import randint In [2]: data = [randint(-10,10) for _ ...