Matplotlib快速入门

article/2025/8/29 3:24:55

1. Matplotlib 常用模块

Matplotlib 库中主要包含两个重要模块 pyplobpylabpyplotMatplotlib 中的一个重要模块,在后续教程中,我们会经常使用 pyplot,该模块允许我们自动、隐式地创建图形及其轴,以实现所需的绘图;使用该模块,可以实现图形的快速绘制,而不需要进行任何图形或轴的实例化。 pylabMatplotlib 的另一个重要模块,在需要使用矩阵、执行数学运算等函数功能时可以使用该模块,通常情况下不建议使用该模块。

2. Matplotlib 常用概念

我们已经知道,Matplotlib 是一个功能强大的绘图库,可以用于绘图许多类型的图,包括曲线图、直方图、轮廓图、散点图、箱型图等等。在继续使用 Matplolib 进行绘图之前,我们首先对 Matplolib 中常用的一些基本概念和术语进行介绍,以对 Matplolib 有更好的了解。使用 Matplotlib 创建的图形包含很多部分,主要有 FigureAxisAxesArtist

  • FigureFigure 是用于创建不同绘图的画布,Matplotlib 图形中的 Figure 可以包含一个或多个 axes/plots
  • AxisMatplotlib 图形中的轴 axis 用于限制绘制图形的边界,基本上类似于数学中的坐标轴概念;例如,对于 3 维绘图,包含 X 轴、Y 轴和 Z 轴。
  • Axesaxes 通常可以被视为一个绘图 plot,图形中可以包含多个 axes
  • Artist:一个 Matplotlib 生成图形中的一切都是 Artist 对象,也可以说 Artist 是所有其它类的父类,大多数 artist 都是在 axes 上所绑定,包括文本对象、Line2D 对象等。

以上概念间的相关关系如下图所示:

Matplotlib 常用概念

3. Matplotlib 简单示例

3.1 导入 Matplotlib 库

在代码中使用 Matplotlib 库时,通常我们会使用一些约定俗成的别名用于简化代码:

import matplotlib as mpl
from matplotlib import pyplot as plt

这种导入方法对于以下三种 Matplotlib 的使用方式都是通用的。

3.1 编写 Python 脚本绘制图形

接下来,我们编写一个入门示例,首先利用 Numpy 创建 NumPy 数组,然后使用 Matplotlib 将其可视化。
我们首先编写一个名为 fistplt.py 的文件,并在其中键入以下代码:

# fistplt.py
import matplotlib as mpl
from matplotlib import pyplot as plt
import numpy as npx = np.arange(6)
y = x ** 3 + 5 * x - 10
plt.plot(x, y)
plt.show()

在以上代码中,np.arange(start, stop, step) 函数用于以给定的间隔 step 创建间距均匀的数列,起始值 start 和间隔 step 参数的默认值分别为 01,该函数的返回值不包含停止值 stop,即返回半开区间 [start, stop)。在以上示例中,我们创建了一个以 0 开始,以 5 结束的数组,即 [0, 1, 2, 3, 4, 5]。接下来,我们使用函数 y = x 3 + 5 × x − 10 y=x^3+5\times x-10 y=x3+5×x10 根据输入 x x x,创建了函数值 y y y,用于绘制 2D 图形。
接下来,我们使用函数 plot() 将其可视化,plot(x, y) 用于绘制一条曲线,其中,曲线点的 x 坐标在列表 x 中给出,曲线点的 y 坐标在列表 y 中给出,plot() 函数还包含一些其它的可选参数用于控制曲线样式。
最后 show() 函数用于显示绘制的图形,show() 函数会启动一个事件循环,查找所有当前 Figure 对象,并打开一个或多个显示 Figure 的交互式窗口。通常 plt.show() 函数在一个 Python 脚本中只能使用一次,通常位于脚本末尾,应尽量避免在同一脚本中多次使用 show() 函数。
因此我们可以总结使用 Matplotlib 进行绘图的基本步骤:

  • 准备数据,可以使用纯 Python 创建,也可以读取外部文件或使用 Numpy 等其他库获取所需展示的数据
  • 使用绘图函数进行绘制,例如本节所用 plot() 函数用于绘制曲线图,后续的学习中,我们也将学习其它多种不同绘图函数,包括柱状图 bar(),饼图 pie() 等等
  • 将绘图结果进行展示 show() 或保存 savefig('file_name'),需要注意的是,不能在 show() 之后 savefig(),这是由于使用 show() 函数后,画布会进行刷新,再进行保存时只会保存空白图形

编写代码完成后,在命令行提示符下使用命令:python firstplt.py 运行上述脚本,它会打开一个绘图窗口,其中显示的代码中所绘制的图形:

绘图窗口

如上图所示,可以看到绘图窗口中还包含多个图标,其中:

项目Value
“保存”图标此按钮用于将所绘制的图形另存为所需格式的图片,包括png,jpg,pdf,svg等常见格式
“调节”图标此按钮用于调整图片的尺寸,边距等图片属性
“缩放”图标此按钮用于缩放图片,用于观察图形细节,单击此按钮后,在图形上使用鼠标左键拖拽进行放大,使用鼠标右键拖拽进行缩小
“移动”图标此按钮用于移动图形,可以与“缩放”按钮结合观察放大后图片的具体细节,同时,单击此按钮后,在图形上使用鼠标右键拖拽可以缩放坐标轴的比例
“还原”图标此按钮用于将图形恢复到其初始状态,取消缩放、移动等操作

NOTE:在之后的教程中,我们主要使用这种方式进行讲解,但是相关的绘图方法与接下来要讲的两种 Matplotlib 使用方式完全相同。

3.2 在 Jupyter Notebook 中使用Matplotlib

Jupyter Notebook 是一个基于浏览器的交互式数据分析工具,用于将相关描述、代码、图形、HTML元素以及多种内容组合到一个可执行文档中。如果要 Jupyter Notebook 中以交互方式展示绘图结果,使用 %matplotlib 命令,除此之外,在 Jupyter Notebook 中,还可以选择将图形直接嵌入 Notbook 中:

%matplotlib inline

命令 %matplotlib inline 会将绘图结果静态的嵌入到 Jupyter Notebook 中,而使用命令 %matplotlibMatplotlib 绘制仍将打开一个交互式绘图窗口来绘制图形。
然后导入 Matplotlib 的方法与在脚本中完全一致:

import matplotlib as mpl
from matplotlib import pyplot as plt

在下图中,可以看到使用 %matplotlib 命令时,仍会打开一个交互式绘图窗口来进行绘制。

交互式绘图
而在下图中,可以看到使用 %matplotlib inline 命令则会将绘图结果直接静态的嵌入到 Jupyter Notebook 中。

静态绘图

3.3 在 IPython Shell 中使用 Matplotlib

如果要在 IPython Shell 中使用 Matplotlib 模式,需要在启动 ipython 后使用 %matplotlib 魔法命令:

%matplotlib

运行以上命令时,它将给出 Matplotlib 所使用的后端:

Using matplotlib backend: Qt5Agg

在执行上述魔法命令后,通过导入 Matplotlib 库就可以使用 Matplotlib 库,这与其它方式使用 Matploblib 时的导入方式完全相同:

import matplotlib as mpl
from matplotlib import pyplot as plt

接下里,使用任何绘图函数命令都将打开一个交互式绘图窗口来绘制图形。

In [1]: %matplotlib
Using matplotlib backend: Qt5AggIn [2]: import matplotlib as mpl...: from matplotlib import pyplot as plt...: import numpy as npIn [3]: x = np.arange(6)...: y = x ** 3 + 5 * x - 10...: plt.plot(x,y)
Out[3]: [<matplotlib.lines.Line2D at 0x7f1a0e4b2550>]

相关链接

Matplotlib安装与配置
Matplotlib图形绘制
Matplotlib风格与样式


http://chatgpt.dhexx.cn/article/tfOlaC1l.shtml

相关文章

Matplotlib之Figure的使用

Matplotlib之Figure的使用 意义实现方法代码实例现象 拓展&#xff08;图像参数设置&#xff09;图像的展现曲线的展现代码及现象 意义 figure是画图的窗口&#xff0c;本文主要解决我们想多个窗口显示多样的数据时的问题 实现方法 代码实例 下面展示一些 内联代码片。 im…

matplotlib隐藏坐标轴

1. 隐藏x坐标轴 import matplotlib.pyplot as pltx [3, 4, 4, 6, 7, 8, 8, 12] y [11, 12, 12, 14, 17, 15, 14, 19]fig, ax plt.subplots(figsize(6, 6), dpi100)ax.scatter(x, y) # 显示辅助线 ax.grid(True) # 1. 隐藏x坐标轴 ax.get_xaxis().set_visible(False) fig.sh…

Matplotlib的颜色

Matplotlib的颜色 下面是一段代码示例&#xff1a; plt.figure() plt.rcParams[font.family] [SimHei] x [男, 女] y1 [923, 1013] y2 [1393, 1741] plt.bar(range(2), y1, width0.2, facecolorred, label糖尿病患者) plt.bar([i0.2 for i in range(2)], y2, width0.2, …

matplotlib

今天我们来介绍一下python的一个可视化工具matplotlib matplotlib 使用matplotlib的方式有很多&#xff0c;但最通常的是Pylab模式的ipython(-ipython –pylab) matplotlib的api都位于matplotlib.pyplot中&#xff0c;所以一般的引入方式为&#xff1a; import matplotlib.…

Matplotlib绘制动图

简介 Matplotlib是非常著名的Python绘图库&#xff0c;支持非常复杂的底层定制化操作。本文通过Matplotlib中的动画绘制工具来讲解如何绘制动态图&#xff0c;首先讲解通过交互模式如何显示动态图&#xff0c;继而讲解通过两个动画类来实现动图地保存&#xff08;GIF格式&…

python使用matplotlib绘图

文章目录 一、模块介绍二、模块安装三、主要API介绍设置绘图风格plt.style.use()新建画布plt.figure()绘制折线图plt.plot()绘制垂直柱状图plt.bar()绘制水平柱状图plt.barh()绘制饼状图plt.pie()绘制散点图plt.scatter()设置横纵坐标的标签plt.xlabel(), plt.ylabel()添加文字…

零基础学Python:Matplotlib用法

本文目录&#xff1a; 一、初识matplotlib二、线形图plot&#xff08;&#xff09;函数用法 三、散点图scatter()函数用法 四、饼状图pie&#xff08;&#xff09;函数用法 五、直方图hist()函数用法 前言&#xff1a; &#x1f4e2;&#x1f4e2;&#x1f4e2; &#x1f3c5;&…

Matplotlib库的介绍及使用

Matplotlib库的介绍及使用 1. pyplot子库的基本使用1.1 Matplotlib库的介绍1.2 plot函数1.3 pyplot的中文显示1.4 pyplot的文本显示 2. pyplot基础图表函数2.1 pyplot饼图的绘制2.2 pyplot直方图的绘制2.3 pyplot极坐标图的绘制2.4 pyplot散点图的绘制 1. pyplot子库的基本使用…

【Python数据分析】Matplotlib的初步认识

文章目录 1.什么是Matplotlib2.常见图形种类及意义1.折线图2.散点图3.柱状图4.直方图5.饼图 3.认识Matplotlib图像结构1.第一层2.第二层3.第三层 4.折线图初体验1.设置标题2.中文显示3.自定义X轴刻度4.一图多线5.一图多个坐标系子图 1.什么是Matplotlib Matplotlib是一个Pytho…

使用Matplotlib绘图

&#x1f935; Author &#xff1a;Horizon Max ✨ 编程技巧篇&#xff1a;各种操作小结 &#x1f387; 机器视觉篇&#xff1a;会变魔术 OpenCV &#x1f4a5; 深度学习篇&#xff1a;简单入门 PyTorch &#x1f3c6; 神经网络篇&#xff1a;经典网络模型 &#x1f4bb; …

Python -- Matplotlib库的使用

Matplotlib库的使用 要点&#xff1a;matplotlib是提供数据绘图功能的第三方库&#xff0c;其pyplot子库主要用于实现各种数据展示图形的绘制。 1. matplotlib.pyplot库概述 matplotlib.pyplot是matplotlib的子库&#xff0c;引用方式如下&#xff1a; >>>import ma…

Matplotlib库介绍

目录 一、Matplotlib库介绍 二、基本绘图流程 三、pyplot基础语法 1.创建画布与创建子图 2.添加画布内容 3.保存与展示图形 4.不同图表绘制函数 四、其它相关内容 1.线条颜色(color)的设置 2.线条标记(marker)的设置 3.线条类型(line)的设置 一、Matplotlib库介绍 …

Python Matplotlib库用法笔记

Python Matplotlib库用法笔记 一、了解Matplotlib库1 Matplotlib是什么2 Matplotlib的作用3利用Matplotlib做一个简单的画图3.1matplotlib.pyplot模块3.2画图 4 Matplotlib的三层结构4.1容器层4.2 辅助显示层4.3图像层 二、折线图1 折线图的绘制与显示1.1设置图形的风格 2 设置…

Python之数据可视化——matplotlib系统介绍(一)

matplotlib基础系统介绍 目录 1. Matplotlib概述 2. 讲解Matplotlib核心原理 3. Matplotlib相关基础操作介绍 3.1 创建figure(画布)的方式及完整绘图步骤3.2 线型设置3.3 中文与特殊符号(负号)相关支持设置3.4 图例和网络的设置3.5 坐标轴的设置和相关操作3.6 figure的区域…

Matplotlib下载、安装、简单使用

Matplotlib Matplotlib是一个Python 2D绘图库&#xff0c;它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。它可与 NumPy 一起使用&#xff0c;提供了一种有效的 MatLab 开源替代方案&#xff0c;也可用于Python脚本&#xff0c;Python和IPython (opens new win…

Python--Matplotlib(基本用法)

Matplotlib Matplotlib 是Python中类似 MATLAB 的绘图工具&#xff0c;熟悉 MATLAB 也可以很快的上手 Matplotlib。 1. 认识Matploblib 1.1 Figure 在任何绘图之前&#xff0c;我们需要一个Figure对象&#xff0c;可以理解成我们需要一张画板才能开始绘图。 import matplo…

【51单片机】AS608指纹锁设计

文章目录 一、主要功能二、硬件资源1.硬件准备2.硬件连接 三、软件设计1.软件结构2.主要代码 四、实验现象联系作者 一、主要功能 系统运行后&#xff0c;LCD显示指纹锁主界面&#xff0c;显示模块指纹库剩余容量和指纹对比等级数。如果已经添加了指纹的话&#xff0c;直接在主…

基于STM32的多功能门禁系统(AS608指纹识别、密码解锁、刷卡解锁)

目录 一、项目功能 二、视频 三、原理图 4、材料选择 5、部分程序 资料下载地址&#xff1a;基于STM32的多功能门禁系统 一、项目功能 1、AS608指纹解锁&#xff1b;可以录入、删除、验证指纹&#xff1b; 2、密码解锁&#xff1b;可以密码验证、修改密码和保存密码&a…

AS608指纹模块的上位机检测

​​​​​引言 最近在搞这个基于STC51的指纹锁&#xff0c;目前已经差不多完成&#xff0c;对于我这个小白来说还是有点难度的。上位机检测是之前做的&#xff0c;现在也算是回忆总结一下吧&#xff01; 正文 AS608指纹模块的介绍 PCB&#xff1a; 具体操作 第一步 将AS…

Arduino Nano+AS608指纹门禁系统

100元制作宿舍指纹门禁系统 效果图&#xff1a;硬件清单各个模块连接程序流程图驱动文件以及配置烧录环境驱动文件配置编译器 局部源码**演示视频**更新内容完整源码下载&#xff1a; 效果图&#xff1a; 这里用的是电容式的AS608指纹模块 硬件清单 名称用途Arduino Nano开发…