本教程介绍了一些基本的使用模式和最佳实践,以帮助用户开始使用Matplotlib。
·
·
·
import matplotlib as mplimport matplotlib.pyplot as pltimport numpy as np
一个简单的例子
Matplotlib将数据绘制在图表(Figure)上(例如,窗口、Jupyter窗口小部件等),每个图表可以包含一个或多个Axes——一个可以根据x-y坐标(或极坐标图中的θr、三维坐标图中x-y-z等)限定的区域,为方便起见,起个中文名叫做“坐标作图组件”。创建图表的最简单方法是使用pyplot.subplots创建Axes,然后用Axes.plot在Axes上绘制一些数据:
·
·
·
fig, ax = plt.subplots() #创建包含单个Axes的图形。ax.plot([1, 2, 3, 4], [1, 4, 2, 3]); #在Axes上绘制一些数据。fig.show() #显示图形
图表的构成
下图是Matplotlib的图表(Figure)的组成部分:
Figure(图表)
一个图形容器,该容器跟踪它里面所有的Axes(坐标作图组件),以及一群“特殊”艺术家(标题、图形图例、色条等),甚至嵌套的子图形容器。
创建新Figure(图表)的最简单方法是使用pyplot:
·
·
fig = plt.figure() #无Axes的空白Figurefig.show() #显示图表
·
·
fig, ax = plt.subplots() #有一个Axes的Figurefig.show() #显示图表
·
·
fig, axs = plt.subplots(2, 2) #有2x2网格Axes的Figurefig.show() #显示图表
通常可以方便地将Axes与Figure一起创建,但也可以在创建Figure后手动添加Axes。请注意,许多Matplotlib的后端图形界面窗口支持图形的缩放和平移。
Axes(坐标作图组件)
Axes是一个艺术家,依附于Figure——绘制数据图表的图形区域。它通常包括两个(在3D情况下为三个)Axis对象(请注意Axes和Axis之间的区别),这些对象提供刻度线和刻度标签,作为Axes中的数据刻度。每个Axes也有一个标题(通过set_title()设置)、一个x标签(通过set_xlabel()设置)和一个y标签(通过set _ylabel()设置)。
Axes类及其成员函数是使用OOP(以目标为中心的程序设计)接口的主要入口,并在其之上定义了大多数绘图方法(例如,上面显示的ax.plot()使用plot方法)。
Axis(轴)
这些对象设置比例和限制,并生成刻度线(轴上的标记)和刻度值(刻度线的对应的值)。刻度线的位置由Locator(定位器)对象确定,刻度值由Formatter(格式设置工具)对象格式化。正确的定位器和格式设置工具一起,可以非常精确地控制刻度线位置和刻度值。
Artist(艺术家)
基本上,图上可见的所有对象都是Artist艺术家(除了Figure、Axes和Axis对象)。这包括文本对象、Line2D对象、集合对象、斑点对象等。当渲染图形时,所有Artist都被绘制到canvas(画布)上。大多数Artist都绑在Axes上;致使Artist不能被多个Axes共享或从一个Axes移动到另一个Axes。