2025年Matplotlib基本讲解(以Jupyter软件)

目录

一、Matplotlib入门

二、Pyplot介绍

三、基本绘图

1.折线图

2.Marker可定义的符号

3.多曲线绘制

4.高级散点图

5.堆叠柱状图与误差棒

6.多子图与共享坐标轴

7.3D曲面图与等高线

8.使用样式表和高质量输出设置

四、绘图标记与绘图线

1.绘图标记(Markers)详解

2.绘图线(LineStyles)详解

3.简单应用

4.样式组合实践

五、轴标签、标题和网格线

1.轴标签设置

2.标题设置

3.网格线设置

4.三个组合使用

5.高级设置

六、绘制多图、散点图和柱形图

1.多图绘制(subplots)

2.散点图绘制

3.柱状图绘制

七、饼图和直方图

1.饼图绘制

2.直方图绘制

3.组合示例

八、imshow()、imsave()和imread()方法(图像处理三剑客)

1.imshow()方法-图像显示

2.imsave()方法-图像保存

3.imread()方法-图像读取

4.组合使用

5.专业技巧补充

九、Seaborn教程和中文教程

1.Seaborn基础图表绘制

2.Seaborn高级图表

3.中文显示解决问题

4.Seaborn样式深度定制

5.实际应用


一、Matplotlib入门

matplotlib 的核心功能

matplotlib 是一个用于创建静态、动态和交互式可视化的 Python 库。其核心功能包括生成线图、散点图、柱状图、直方图、饼图、等高线图、3D 图形等。支持高度自定义的图形属性(如颜色、线型、标签、标题),并可与 NumPy、Pandas 等科学计算库无缝协作。

主要用途场景

  • 数据探索与分析:通过可视化快速发现数据分布、趋势或异常值。
  • 学术研究:绘制论文中的实验图表,支持 LaTeX 公式渲染。
  • 工程与报告:生成自动化报告中的动态图表或仪表盘组件。
  • 教学演示:动态展示数学函数或算法过程(如梯度下降)。

安装方法

通过 pip 安装(推荐大多数用户):
运行以下命令安装最新稳定版:

pip install matplotlib

通过 conda 安装(适合 Anaconda 用户):

conda install matplotlib

验证安装
在 Python 环境中执行以下命令无报错即安装成功:

import matplotlib
print(matplotlib.__version__)

可选依赖项

  • 交互式后端:如需 Jupyter Notebook 支持,建议同时安装 ipympl 或启用 %matplotlib widget
  • 导出功能:导出 PDF/SVG 需安装 ghostscriptlatex 依赖(仅高级用户需要)。

二、Pyplot介绍

pyplot在matplotlib中的含义

pyplot是matplotlib库中的一个模块,提供了与MATLAB类似的绘图接口。它简化了常见的绘图任务,使用户能够通过简单的函数调用快速生成图表。pyplot的设计目标是让用户能够以最少的代码完成高质量的图形输出。

pyplot的主要作用

pyplot模块的作用主要体现在以下几个方面:

通过高级函数简化绘图流程,隐藏底层细节,用户无需直接操作图形对象即可完成大部分绘图需求。提供状态机接口,自动跟踪当前图形和坐标轴,减少手动管理图形元素的负担。

支持快速生成常见图表类型,如折线图、散点图、柱状图、饼图等。内置丰富的样式和参数配置选项,允许用户轻松调整图表外观。

pyplot的核心功能

pyplot的核心功能包括创建图形窗口、绘制图形元素、添加标签和标题、设置坐标轴范围等。它能够处理图形布局和自动缩放,确保数据在图表中合理展示。

提供交互式功能,如缩放、平移和保存图表。支持多种输出格式,包括PNG、PDF、SVG等。集成文本和注释工具,方便在图表中添加说明信息。

pyplot的使用特点

采用命令式编程风格,适合快速原型设计和交互式数据分析。保持与MATLAB绘图语法的高度相似性,降低学习成本。作为matplotlib的推荐接口,在大多数基础绘图场景中都是首选工具。

三、基本绘图

1.折线图

关键点解释:

np.linspace() 比 range() 更适合生成绘图用的连续数据

plt.figure() 应该在绘图前调用,用于控制图形大小和DPI

颜色可以使用名称('red')、缩写('r')或十六进制值('#FF0000')

线型包括:'-'(实线), '--'(虚线), '-.'(点划线), ':'(点线)

label 参数必须与 plt.legend() 配合使用才会显示图例。

2.Marker可定义的符号

常见 Marker 符号表格

符号名称 代码/表示 示例图示 适用场景
圆圈 (Circle) 'o''circle' 散点图、标记数据点
方形 (Square) 's''square' 强调边界或对比数据
菱形 (Diamond) 'D''d' 特殊数据点或高亮显示
三角形 (Triangle) '^', 'v', '<', '>' △ ▽ ◁ ▷ 方向性数据或趋势标记
星形 (Star) '*''star' 关键数据或异常值标记
叉号 (Cross) 'x''X' 错误点或交叉验证标记
点号 (Dot) '.' · 密集数据的小型标记
加号 (Plus) '+' 数学或科学数据标记
横线 (Horizontal Line) '_' 基线或参考线标记
竖线 (Vertical Line) `' '`

自定义符号扩展

  • Unicode 字符:可直接使用 Unicode 符号(如 '♠', '♥')。
  • LaTeX 符号:部分库支持 LaTeX 语法(如 r'$\alpha$' 显示希腊字母)。
  • 图片路径:某些库支持自定义图片作为标记(需提供图像路径)。

代码示例(Python Matplotlib)

import matplotlib.pyplot as plt

x = [1, 2, 3]
y = [2, 5, 3]
markers = ['o', 's', '*']

for i in range(len(x)):
    plt.scatter(x[i], y[i], marker=markers[i], s=100)

plt.show()

输出图形将依次显示圆形、方形和星形标记。

3.多曲线绘制

关键点解释:

  • 面向对象风格(ax.plot)比pyplot风格(plt.plot)更灵活,适合复杂图形

  • markevery 参数可以控制标记的显示频率

  • zorder 控制图层叠放顺序,数值越大越靠上

  • alpha 控制透明度,范围0(完全透明)到1(完全不透明)

  • 图例的 title 和样式设置可以使图表更专业

4.高级散点图

关键点解释:

  • cmap 参数控制颜色映射,常用的有'viridis', 'plasma', 'inferno', 'magma', 'cividis'

  • plt.colorbar() 需要传入一个可映射对象(如散点图的集合)

  • 回归线展示了如何将统计分析与可视化结合

  • annotate 方法可以添加带箭头的注释

  • tight_layout() 自动调整子图间距,避免标签重叠

5.堆叠柱状图与误差棒

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值