Matplotlib入门简介
Matplotlib是一个用Python实现的绘图库。现在很多机器学习,深度学习教学资料中都用它来绘制函数图形。在学习算法过程中,Matplotlib是一个非常趁手的工具。
一般概念
图形(figure)
类似于画布,它包含一个或多个子坐标系(axes)。至少有一个坐标系才能有用。
下面是一段简单的示例代码,只是创建了一个子坐标系
import matplotlib.pyplot as plt
import numpy as np fig = plt.figure() #空figure,没有坐标系.
fig.suptitle("No Axes on this figure") #设置顶部标题 fig, ax_lst = plt.subplots(2, 2) #一个2 x 2 网格的的坐标系
坐标系(Axes): figure的绘图区域。一个figure只能有可以有多个Axes,但一个Axes只能位于一个figure中。一个Axes包含两个(在3D情况下有3个)坐标轴(Axis),Axis的主要作用是限制数据的范围(可使用Axes的set_xlim()和set_ylim()方法设限制)。每个坐标系有一个标题(title),使用set_title()设置,一个x轴标签(x-label,使用set_xlabel()设置),一个y轴标签(y-label,使用set_ylabel()设置)。
坐标轴(Axis): 类似于数字线( number-line-like)的对象,可设置图表的限制并生成刻度和刻度标签。Locator对象用来决定刻度的位置。刻度标签字符串使用Formattor格式化。恰当的Locator和Formattor组合可以有效地控制刻度位置可刻度标签。
画家(Artist): 一般来说,所有你能在figure中看到的都使用一个画家(Artist)(包括Figure, Axes和Axis对象),这其中包含:文本对象(Text), 2D线条(line2D), 集合对象,点(Path)对象等等。当一个figure被渲染时,所有的Artist都会在画布上回绘图。大多数Artist被绑定在一个Axes上,不能被多个Axes共享,或从一个Axes移动到另一个。
绘图函数的输入类型
所有的绘图函数期待的输入类型是np.array或np.ma.masked_array。看起来像数组的类比如np.martrix可能能正常使用。
Matplotlib,pyplot和pylab之间的关系
Matplotlib是整个包,matplotlib.pyplot是Matplotlib中的一个模块。
对pyplot模块中的函数来说,总是有一个"当前的"figure和axes。例如在下面的例子中,第一次调用pyplot.plot会创建一个axes,接下来的一系列pyplot.plot调用回向同一个axes中添加多条线,plt.xlabel, plt.ylabel, plt.title and plt.legend调用回在这个axes中添加标签,标题和图例。
x = np.linspace(0, 2, 100) plt.plot(x, x, label='linear')
plt.plot(x, x**2, label='quadratic')
plt.plot(x, x**3, label='cubic') plt.xlabel('x label')
plt.ylabel('y label') plt.title("Simple Plot") plt.legend() plt.show()
这段代码输出的图形如下。可以把最后一行的plt.show(),改成plt.savefig("simplePlot.png"),把图形输出成png格式的文件。

pylab是一个可方便地把matplotlib.pyplot和numpy批量导入到一个独立命名空间的模块,现已被弃用,建议使用pyplot代替。
Matplotlib入门简介的更多相关文章
- 掌握 Ajax,第 1 部分: Ajax 入门简介
转:http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作 ...
- MongoDB入门简介
MongoDB入门简介 http://blog.csdn.net/lolinzhang/article/details/4353699 有关于MongoDB的资料现在较少,且大多为英文网站,以上内容大 ...
- (转)Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
- NodeJS入门简介
NodeJS入门简介 二.模块 在Node.js中,以模块为单位划分所有功能,并且提供了一个完整的模块加载机制,这时的我们可以将应用程序划分为各个不同的部分. const http = require ...
- ASP.NET Core学习之一 入门简介
一.入门简介 在学习之前,要先了解ASP.NET Core是什么?为什么?很多人学习新技术功利心很重,恨不得立马就学会了. 其实,那样做很不好,马马虎虎,联系过程中又花费非常多的时间去解决所遇到的“问 ...
- webservice入门简介
为了梦想,努力奋斗! 追求卓越,成功就会在不经意间追上你 webservice入门简介 1.什么是webservice? webservice是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓的远 ...
- Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
- Android精通教程-第一节Android入门简介
前言 大家好,给大家带来Android精通教程-第一节Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cease to be ...
- Nginx入门简介
Nginx入门简介 Nginx 介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二 ...
随机推荐
- springboot pagehelper分页无效
springboot pagehelper分页无效 遇到的问题把所有的数据都查出来了 -然后跟踪代码发现PageHelper.startPage没有生效,生成的sql也没有分页的信息 依赖也引入了 & ...
- 使用FastReport报表工具生成标签打印文档
在我们实际开发报表的时候,我们需要按一定的业务规则组织好报表的模板设计,让报表尽可能的贴近实际的需求,在之前的随笔中<使用FastReport报表工具生成报表PDF文档>介绍了FastRe ...
- 源码剖析Yii错误 Invalid parameter number: no parameters were bound
ActiveRecord使用的一个陷阱导致 Invalid parameter number: no parameters were bound 请看下面的例子 $criteria = new CDb ...
- PHPStorm 10 配置PHPUnit
PHPStorm 10 配置PHPUnit PHPUnit的安装 自己用的是Xampp,PHPUnit好像自带不好用. 不说废话: 自己看 According to official site htt ...
- 如何在Spring Boot项目中巧妙利用策略模式干掉if else!
直入主题 我们都知道,设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路.它不是语法规定,而是一套用来提高代码可复用性.可维护性.可读性.稳健性以及安全性 ...
- 微服务SpringCloud之服务网关zuul二
Zuul的核心 Filter是Zuul的核心,用来实现对外服务的控制.Filter的生命周期有4个,分别是“PRE”.“ROUTING”.“POST”.“ERROR”,整个生命周期可以用下图来表示. ...
- 【Linux系列】Linux基础知识整理
Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...
- 【MySQL】MySQL忘记密码或修改密码的方法
MySQL修改新密码方法 记得原密码情况下,修改新密码:登录到数据库后,输入 set password for 用户名@localhost = '新密码'; 来设置新的密码,别忘记分号哦.如图所示: ...
- egg 框架自动创建数据库表结构
// {app_root}/app.js module.exports = app => { app.beforeStart(async () => { // 从配置中心获取 MySQL ...
- 2019 年容器生态统计报告发布 | 云原生生态周报 Vol. 26
作者 | 酒祝.天元.元毅.心水.衷源 业界要闻 1.2019 年容器生态统计报告发布 据报告显示,Kubernetes 占据 77% 的容器编排产品份额,Docker 占据 79% 的容器引擎产品 ...