家好,我是锋哥。最近连载更新《Matplotlib3 Python 数据可视化》技术专题。
本课程讲解利用python进行数据可视化 科研绘图-Matplotlib,学习Matplotlib图形参数基本设置,绘图参数及主要函数,以及Matplotlib基础绘图,和Matplotlib高级绘图。同时也配套视频教程 《2026版 Matplotlib3 Python 数据可视化 视频教程》
Matplotlib3简介
Matplotlib 是 Python 最流行的数据可视化库之一,广泛应用于科学计算、数据分析、科研绘图、机器学习等领域。
官方主页:matplotlib.org/ 最新版本:3.10
Matplotlib 是 Python 编程语言的 2D 绘图库,由 John Hunter 于 2003 年创建,遵循 PSF 许可证开源协议 [2]。它支持生成出版级质量的静态、动态及交互式图表,覆盖折线图、散点图、柱状图等常见类型,并具备跨平台交互环境与多种硬拷贝格式输出能力。其核心功能通过简洁的代码调用实现,提供坐标轴定制、网格线调整、图例设置等基础绘图配置,且支持通过配置文件或动态修改参数。
我们学习的话,主要通过官方用户指南:matplotlib.org/stable/user…
以及官方demo:matplotlib.org/stable/gall…
安装Matplotlib3库
首先我们新建一个纯净Python项目,选虚拟环境。Python版本3.11。
新建完项目,在终端Terminal里执行 matplotlib 安装命令,使用清华镜像安装,速度块。
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
我们在安装一个jupyter,主要方便学习的时候,可视化图表显示。
pip install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple
这样我们把matplotlib库安装好了。
编写Matplotlib3 HelloWord项目
我们主要通过matplotlib的pyplot绘图工具来实现绘图。
我们先生成x,y轴随机数,然后调用plot方法,最后保存为图片。
import numpy as np
from matplotlib import pyplot as plt
# 随机生成数据
x = np.arange(2, 20, 1)
y = (x - 1) ** 3 + 1
# 绘图
plt.plot(x, y)
# 保存为图片
plt.savefig('test.png')
运行程序,则生成test.png图片,我们打开,一个最简单的二维图表生成了。
但是这里有个麻烦的地方,每次学习都要图片,再打开查看效果,比较麻烦。有没有直观的方式呢?
当然有,我们使用jupyter。
我们新建一个file文件,名字是helloWorld.ipynb
然后再贴下代码,最后的savefig()方法改成show()方法
import numpy as np
from matplotlib import pyplot as plt
# 随机生成数据
x = np.arange(2, 20, 1)
y = (x - 1) ** 3 + 1
# 绘图
plt.plot(x, y)
# 显示图片
plt.show()
运行下,直接显示报表图形了。非常直观,非常Nice,很适合我们学习用。
Matplotlib3 图形的组成部分
以下是 Matplotlib 图形的组成部分。
Matplotlib 图形的组成部分可以类比为一幅画布上的绘画元素,主要分为以下几个核心组件:
- 图形 (Figure)
-
作用:最高层容器,相当于画布或画框。
-
特点:
- 可包含多个子图(Axes)
- 控制全局属性:尺寸、分辨率、背景色等
- 子图 (Axes)
-
作用:数据绘制的区域(核心绘图区),每个子图包含完整的坐标轴、标签等。
-
特点:
- 一个 Figure 可包含多个 Axes(如子图网格)
- 实际绘图操作在此对象上进行
- 坐标轴 (Axis)
-
作用:定义数据范围并生成刻度(Ticks)和刻度标签。
-
组成:
- x 轴 (XAxis) 和 y 轴 (YAxis)
- 刻度线 (Ticks):坐标轴上的标记点
- 刻度标签 (Tick Labels):刻度对应的数值/文本
- 绘图元素 (Artists)
-
作用:所有可见对象的基类(甚至 Figure、Axes和Axis对象),包括:
- 数据标记 (Markers):数据点的形状(如
o,s,^) - 线条 (Lines):连接数据点的样式(如
-,--,:) - 文本 (Text):标题、标签等文字
- 图例 (Legend):说明不同数据系列的含义
- 网格 (Grid):辅助参考线
- 注释 (Annotations):箭头和文字说明
- 数据标记 (Markers):数据点的形状(如
- 其他关键组件
- 标题 (Title) :
- 轴标签 (Axis Labels) :
- 颜色条 (Colorbar) :用于解释颜色映射(常见于热力图、等高线图)