文章目录
一、 简介
pyplot是 matplotlib 的一个基于状态的接口。可以快速的绘制图表。通常我们绘图只需要通过pyplot的接口就可以了。
matplotlib还有一个pylab接口,pylab接口实际上就是导入了pyplot接口以及numpy,scipy的一些函数。不推荐使用pylab,官网也同样不推荐。
Matplotlib系列将Matplotlib的知识和重点API,编制成思维导图和重点笔记形式,方便记忆和回顾,也方便应用时参考,初学者也可以参考逐步深入学习。
二、 思维导图

三、 Matplotlib快速绘图
1. 两种绘图方式
1.1 过程式绘图
import matplotlib.pyplot as plt
plt.plot(x,y) #绘制折线图
plt.show() #显示图形
就这么简单,依次调用pyplot模块中的相应函数就可以完成绘图。
1.2 面向对象绘图
采用面向对象的方式,也非常方便,并且更加容易对图形进行修改控制。
import matplotlib.pyplot as plt
fig=plt.figure() #创建画布
ax=fig.subplots() #在画布上创建一个图表
ax.plot(x,y) #图表上绘制线条
plt.show() #显示图形
画布上可以显示多个图表,fig.subplots()无参数创建图表,默认创建一个图表。
2. matplotlib绘图对象层次组成
在Matplotlib中,一个图形对象由容器、图表、图表元素几层对象组成。
- Figure:画布对象。是可以包含多个图表的容器。matplotlib中的顶层对象。
- Text:suptitle,supxlabel,supylabel等画布级别的文本标签。
- Axes:图表对象。指一个含坐标轴、点线图形、图例等的图表。
- Text:title标题文本标签
- Spine:边框,坐标轴线。
- Axis:XAxis,YAxis坐标轴。
- Text:label坐标轴标签
- Tick:刻度元素
- 主刻度、次刻度
- 刻度值
- 网格线
- Legend:图例
- Line2D、Markers等图形元素
- Text:其他文本
- Legend:图例(放在图表框之外的画布级图例)。
- Figure对象的属性texts、axes、legends,以及get_children()函数可以获得子对象。
- Axes对象的属性title、spines、xaxis、yaxis、legend_、lines、texts,以及get_children()函数可以获得子对象。
- Axis坐标轴通常可以直接用Axes对象的方法直接操作
- 所有可见的对象,比如Figure、Axes、Line2D、Text等都继承自Artist类。
Matplotlib中用Axes表示图表有点让人容易误解,可能是一个图表包含多个坐标轴吧,所以有人把Axes翻译为轴域或坐标系。

如果上图看不到,请到官网图形组成链接查看。
3. Matplotlib面向对象绘图过程
3.1 典型代码示例
先看一个典型的示例
#准备数据
import numpy as np
x=np.linspace(-np.pi,np.pi,100)
y=np.sin(x)
#导入matplotlib库pyplot模块
import matplotlib.pyplot as plt
#创建画布
fig=plt.figure()
#创建图表
ax=fig.subplots()
#绘制折线图,设置点线样式,设置线条名称
ax.plot(x,y,'+r--', label='line1',mec='b',ms=10) #点为蓝色+(大小为10),线为红色虚线
#设置坐标轴
ax.set_xlabel('X axis') #坐标轴文本标签
ax.set_ylabel('Y axis')
ax.set_xticks([-4,
Matplotlib绘图

本文介绍Matplotlib绘图库的基础知识,包括过程式和面向对象两种绘图方式,绘图对象层次组成,及如何创建画布、图表,设置点线样式、颜色等。同时提供了丰富的示例代码。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



