Matplotlib快速入门笔记

栏目: Python · 发布时间: 8年前

内容简介:Matplotlib快速入门笔记

我正从 Python 作为突破口,入门机器学习相关知识。出于机器学习实践过程中的需要,快速了解了一下 matplotlib 绘图库。下图是我学习过程中整理的一些概念。

Matplotlib快速入门笔记

本文将以该图为线索梳理相关概念。

简介

matplotlib 是一个2D绘图库,通过它你可以绘制函数曲线、直方图、散点图等各种图像。

Python 中使用 matplotlib 主要用到 matplotlib.artist.Artist 模块。这个模块定义了很多绘图时用到的类型。

Matplotlib快速入门笔记

Artists类型可分为两种:基础数据(primitives)代表了标准的我们想绘制的图形对象,比如Line2D、Rectangle、Text、Image等;容器(container)代表了储存以上对象的地方,比如Axis,Axes和Figure。

使用流程

matplotlib 标准的使用流程如下:

  1. 创建一个画板(Figure)实例。
  2. 使用画板创建一个或多个轴区实例(Axes)。
  3. 使用轴区实例的相关方法,进行绘图。

例如下面代码:

import matplotlib.pyplot as plt  
import numpy as np  
x = np.arange(-10, 10, 0.01)  
y = x*x - 5*x + 1  
fig = plt.figure()    // 创建画板  
ax = fig.add_subplot(111) // 创建轴区  
ax.plot(x, y, 'r--')   // 绘图  
plt.show()

效果如下图: Matplotlib快速入门笔记

上面例子中我们用了 matplotlib.pyplot 模块,来创建和展示画板。实际上为了让 matplotlib 使用起来更靠近类似 MATLAB 基于命令的形式,这个模块把许多Artist类型的方法进行了封装,组成所谓的 The Pyplot API ,参考 文档 。这套API可以让你直接使用pyplot模块进行绘图,而不是使用Artist实例。

下面例子使用 The Pyplot API 实现了同样的效果:

import matplotlib.pyplot as plt  
import numpy as np  
x = np.arange(-10, 10, 0.01)  
y = x*x - 5*x + 1  
plt.plot(x, y, 'r--')  
plt.show()

需要注意:这里直接使用 plt.plot 函数进行绘图,看起来好像并没有创建Figure和Axes对象。其实不是的, pyplot 模块默认创建ID为1的画板,并且在画板中默认创建‘111’轴区实例。所以你就可直接进行绘图。

绘图过程是基于当前上下文进行的。也就是说当前选中的是哪一个画板和哪一个轴区,后续调用的绘图函数就是在这个画板和轴区中进行的。你可以通过给 plt.figure() 指定ID来创建或切换画板。可以通过 plt.subplot()figure.add_subplot() 来创建或切换轴区。

解释一下使用 plt.subplot()figure.add_subplot() 创建Axes时所使用的三位整数组成的参数。假设用xyz代表这三个个位数,则x表示行,y表示列,z为这个x行y列组成的格子中按书写顺序从1开始数下来的第z个。如果超过个位数,传递参数的时候分为独立的三个值进行传递。例如: plt.subplot(10,2,5)

其他

了解这些足够我在机器学习实践中使用了。

在实际应用中可能根据需求的不同选择使用不同的方法绘制图像,如:

  • plot:绘制曲线
  • scatter:绘制散点图
  • hist:绘制直方图
  • imshow:绘制图片
  • ...

作为扩展,可能还需要了解其他的 matplotlib 模块:

  • mpl_toolkits.mplot3d:3D绘图的扩展工具。
  • matplotlib.cm:定义颜色映射与相关处理函数。
  • matplotlib.mlab: Python 数值函数模块,用于兼容MATLAB命令。
  • matplotlib.path:处理折线。
  • matplotlib.patches:用于生成图形元素。
  • ...

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

缺失的终结

缺失的终结

【美】克尔•哈里斯 / 艾博 / 中国人民大学出版社 / 2017-6-15 / 39.00元

《缺失的终结》是一本反思互联网时代对普通人日常生活影响的书。作者认为,我们都曾渴望有一段远离现实生活烦扰的“瓦尔登湖”时光,悠闲地沉入自己的内心世界,从飞速变化的漩涡中暂时“缺失”。然而,互联网生活让我们每时每刻被互联网化,手环监测着我们的心跳和睡眠,微信、脸书、推特让我们人在床上就与世界链接起来,跑步了吗?走路了吗?英语单词背了吗?早餐的卡路里是否超标?坐在办公室,无数亟待处理的信息狂风暴雨般地......一起来看看 《缺失的终结》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具