【数据分析|Day02】Matplotlib 数据可视化笔记

文章目录

  • [1. Matplotlib 初识](#1. Matplotlib 初识)
  • [2. 图表"零件"](#2. 图表“零件”)
  • [3. 创建图表的核心流程](#3. 创建图表的核心流程)
  • [4. 折线图](#4. 折线图)
    • [4.1 多条折线](#4.1 多条折线)
    • [4.2 网格线样式](#4.2 网格线样式)
  • [5. 柱状图](#5. 柱状图)
    • [5.1 分组柱状图](#5.1 分组柱状图)
  • [6. 饼状图](#6. 饼状图)
  • [7. 子图布局](#7. 子图布局)
    • [7.1 1×2 子图:柱状图 vs 饼状图并排对比](#7.1 1×2 子图:柱状图 vs 饼状图并排对比)
    • [7.2 2×2 四宫格:四种图表同框](#7.2 2×2 四宫格:四种图表同框)

📁 代码讲义:Matplotlib.ipynb

📅 更新日期:2026-06-07


1. Matplotlib 初识

我一开始就被 matplotlib 这个名字难住了,其实把它拆开就很简单:Mat + plot + lib 。Mat 取自 Matlab一款以强大绘图能力著称的科学计算软件,plot 就是"绘图",lib 是 library(库)的缩写。连起来就是**"模仿 Matlab 风格的绘图库"**这样拆开记就好记多了。

那么Matplotlib到底是什么呢?

Matplotlib 是 Python 中使用最广泛的数据可视化开源库 ,通过 pip install matplotlib 就能安装。它可以创建静态图、动态图和交互式图表,不过我们现阶段学习的主要是静态图表也就是生成一张固定的 PNG 或 SVG 图片用于报告和展示。

注意:Matplotlib 默认字体不支持中文,标题或标签中出现中文会变成方框□□□,加下面两行即可解决(不用死记,知道有这回事、用到时复制就行)

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']       # Windows 用黑体
plt.rcParams['axes.unicode_minus'] = False          # 解决负号显示异常

2. 图表"零件"

在写代码之前,先搞清楚一张图表到底由哪些"零件"组成。后面写的每一行代码,本质上都是在操控这些零件中的某一个。心中有这张"零件地图",学起来才不会云里雾里。

序号 组成部分 说明
Figure(画布) 最外层容器,所有内容都画在上面,可以理解为"画纸"
Axes(绘图区) 画布中实际绘制数据的坐标系区域,一个画布可以有多个绘图区(子图),之后会介绍
Title(标题) 图表的标题,说明整张图在表达什么
X/Y Axis(坐标轴) 包含轴线、刻度、刻度标签、轴标签
X/Y Label(轴标签) 说明每个轴代表什么含义,如"时间(s)"、"销售额(万元)"
Ticks(刻度位置) 刻度线在轴上的位置,是一个数值
Tick Labels(刻度标签) 刻度位置处显示的文字,可以是数字或自定义文字
Grid(网格线) 辅助读数的水平/垂直线
Legend(图例) 多条线或多组数据时,说明每条线的含义

⚠️ 最容易混淆的一对概念 :Ticks(刻度位置)和 Tick Labels(刻度标签)。很多人以为它们是一回事,其实不是Ticks 是"刻度线画在哪个数值位置",Tick Labels 是"那个位置显示什么字" 。比如你写 plt.yticks([2, 4, 6, 8], ['A', 'B', 'C', 'D']),前面的 [2,4,6,8] 是位置(决定线画在哪),后面的 ['A','B','C','D'] 是标签(决定人看到什么)。位置是数学坐标,标签是给人看的,两者可以完全不同。这个区分搞清楚了,后面设置刻度才不会乱。

简单的可以用下面用一段完整代码把上面九个部分全部可视化出来,体验一下:

python 复制代码
plt.figure(figsize=(10, 6))

x = np.arange(1, 8)
y = [3, 5, 2, 8, 6, 9, 4]

plt.plot(x, y, marker='o', linewidth=2, markersize=8, label='销售额')

# ---- ③ 标题 ----
plt.title('某产品一周销售额趋势', fontsize=16, fontweight='bold')

# ---- ⑤ 轴标签 ----
plt.xlabel('星期', fontsize=12)
plt.ylabel('销售额(万元)', fontsize=12)

# ---- ⑥⑦ 刻度位置 + 刻度标签 ----
plt.xticks(x, ['周一', '周二', '周三', '周四', '周五', '周六', '周日'])
plt.yticks(range(0, 11, 2))

# ---- ⑧ 网格线 ----
plt.grid(True, linestyle='--', alpha=0.5)

# ---- ⑨ 图例 ----
plt.legend(loc='upper left', fontsize=11)

plt.show()

3. 创建图表的核心流程

无论画什么类型的图表,Matplotlib 的创建流程基本固定为以下五步:

复制代码
① 创建画布         plt.figure(figsize=(10, 5))
② 准备数据         x = [...], y = [...]          ← x 和 y 维度必须一一对应
③ 选择图表类型绘图   plt.plot(x, y) / plt.bar() / plt.pie()
④ 美化图表         标题、轴标签、刻度、网格、图例
⑤ 显示或保存       plt.show() / plt.savefig()

这里有两个常见疑问。

  • 第一,步骤①和②能颠倒吗?
    能,但更推荐先创建画布,就像画画先铺画纸再想画什么,逻辑更顺;而且后面学到子图时必须先 plt.subplots() 拿到 axes 才能绘图,养成先建画布的习惯有好处。
  • 第二,不写 plt.figure() 行不行?
    行,plot 会自动帮你创建一个默认大小的画布。但默认尺寸往往不是最佳效果,实际项目中都会手动设置 figsize,所以一般保持习惯书写。

下面用折线图作为第一个例子,把五步法完整走一遍:

python 复制代码
# ① 创建画布
plt.figure(figsize=(10, 5))

# ② 准备数据(X 和 Y 维度必须一一对应)
x = range(10)
y = [1.5, 3.2, 2.8, 5.1, 4.3, 6.7, 5.9, 8.2, 7.1, 9.0]

# ③ 绘图:折线图
# 常用参数:marker, color, linewidth, linestyle, label, alpha
plt.plot(x, y, marker='o', linewidth=2, color='steelblue', label='数据线')

# ④ 美化
plt.title('折线图基础示例', fontsize=14)
plt.xlabel('X 轴')
plt.ylabel('Y 轴')

# xticks:只设位置,标签自动显示位置数值
plt.xticks(x[::2])

# yticks:位置 + 自定义标签 ------ ticks是数值位置,labels是显示文字
plt.yticks([2, 4, 6, 8, 10], ['A', 'B', 'C', 'D', 'E'])

plt.grid(True, linestyle='--', alpha=0.5)
plt.legend()

# ⑤ 显示
plt.show()

重点看 plt.yticks([2, 4, 6, 8, 10], ['A', 'B', 'C', 'D', 'E']) 这一行------刻度线画在 2、4、6、8、10 这些数值位置,但显示出来的文字是 A、B、C、D、E。这就是前面强调的:位置和标签可以完全不同

Ticks 与 Tick Labels 再辨析

为了彻底搞懂这个最容易混淆的点,再看一个专门的对比示例:

python 复制代码
plt.figure(figsize=(12, 5))

x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [1.2, 3.5, 2.8, 6.1, 4.9, 7.3, 5.6, 9.0, 8.2, 10.5]

plt.plot(x, y, marker='s', linewidth=2, color='teal')
plt.title('Ticks 与 Tick Labels 辨析', fontsize=14)

# xticks:只传位置,标签自动显示数值
plt.xticks([0, 2, 4, 6, 8])

# yticks(位置, 标签):刻度画在数字位置,但显示成字母
plt.yticks([2, 4, 6, 8, 10], ['A', 'B', 'C', 'D', 'E'])

plt.xlabel('X 轴(间隔取刻度)')
plt.ylabel('Y 轴(刻度位置是数字,标签是字母)')
plt.grid(True, linestyle=':', alpha=0.5)
plt.show()

另外有两个常见错误写法需要特别指出:

  • plt.ytick_label(...) ------这个方法从来就不存在 !Matplotlib 里没有这个函数名,不要和 plt.yticks() 搞混。
  • plt.set_yticklabels(...) ------也会报 AttributeError。因为 set_yticklabels()Axes 对象的方法 ,不是 pyplot 模块的函数。在 pyplot 风格下单图直接用 plt.yticks(位置, 标签) 一步到位即可。只有面向对象风格(子图)才需要分两步写:先 ax.set_yticks() 设位置,再 ax.set_yticklabels() 设标签。

4. 折线图

折线图是最基本的图表类型,用来展示数据随 X 轴变化的趋势。它的常用参数就几个:

参数 说明 示例
x, y 横纵坐标数据,长度必须一致 plt.plot([1,2,3], [4,5,6])
color 线条颜色 'steelblue''#FF6600'
linewidth 线条粗细 2.5
linestyle 线条样式 '--' 虚线、':' 点线、'-.' 点划线
marker 数据点标记形状 'o' 圆点、's' 方块、'^' 三角、'*' 星号
label 图例标签文字(配合 plt.legend() 使用) '销售额'
alpha 透明度(0~1) 0.7
python 复制代码
import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [10, 20, 15, 30]

plt.plot(x, y, 
         color='steelblue',    # 线条颜色
         linewidth=2.5,        # 线条粗细
         linestyle='--',       # 虚线样式
         marker='o',           # 数据点用圆点标记
         label='销售额',       # 图例标签
         alpha=0.7)            # 透明度
plt.legend()
plt.show()

4.1 多条折线

一个画布上画多条线很简单:多次调用 plt.plot() ,每条线通过 label 起个名字,最后 plt.legend() 把图例亮出来。图例位置用 loc 控制,由"垂直 + 水平"两个单词组合:'upper left'(左上)、'lower right'(右下)、'best'(自动选择最佳位置)等:

python 复制代码
plt.figure(figsize=(10, 5))

x = range(1, 13)
y1 = [10, 15, 13, 20, 18, 25, 22, 30, 28, 35, 32, 40]
y2 = [8, 12, 16, 14, 22, 20, 26, 24, 32, 30, 38, 36]

# 画两条线 ------ 两次 plot,label 给每条线一个名字
plt.plot(x, y1, marker='o', linewidth=2, label='产品A')
plt.plot(x, y2, marker='s', linewidth=2, label='产品B')

plt.title('两产品全年销售额趋势对比', fontsize=14)
plt.xlabel('月份')
plt.ylabel('销售额(万元)')
plt.xticks(x, [f'{m}月' for m in x])

# 图例:loc 控制位置(upper/lower + left/right/center)
plt.legend(loc='upper left')

# 网格线:linestyle 线型,alpha 透明度
plt.grid(True, linestyle='--', alpha=0.4)
plt.show()

4.2 网格线样式

网格线同样可定制外观,常用的属性是 linestyle(线型)和 alpha(透明度)。下面把三种常见线型放在一起对比:

python 复制代码
fig, axes = plt.subplots(1, 3, figsize=(15, 4))

x = range(6)
y = [2, 4, 1, 5, 3, 6]

axes[0].plot(x, y, marker='o', color='steelblue')
axes[0].set_title('虚线 linestyle="--"')
axes[0].grid(True, linestyle='--', alpha=0.6)

axes[1].plot(x, y, marker='s', color='coral')
axes[1].set_title('点线 linestyle=":"')
axes[1].grid(True, linestyle=':', alpha=0.6)

axes[2].plot(x, y, marker='^', color='seagreen')
axes[2].set_title('点划线 linestyle="-."')
axes[2].grid(True, linestyle='-.', alpha=0.6)

plt.tight_layout()
plt.show()

另外要注意:柱状图通常只设 Y 轴方向的网格(axis='y'),否则 X 轴网格会和柱子重叠显得杂乱。这个在后面柱状图示例中会看到。


5. 柱状图

柱状图用来比较不同类别的数值大小。它和折线图的本质区别在于:折线图看趋势(X 轴通常是连续的时间序列),柱状图比大小(X 轴通常是离散的类别标签)。

创建流程和折线图完全一致:画布→数据→绘图→美化→展示。图表结构上,柱状图同样需要标题、轴标签、刻度、网格这些通用元素。

常用的几个参数:

参数 说明 示例
x 柱子的 x 轴位置(通常为类别名称列表) ['A','B','C']
height 柱子的高度(数值),注意不是 y [10, 25, 15]
width 柱子的宽度,默认 0.8 0.6
color 柱子填充颜色 'steelblue''#FF6600'
edgecolor 柱子边框颜色 'black'
alpha 透明度(0~1) 0.7
label 图例标签(配合 plt.legend() '销量'

注意这里参数名叫 height 而不是 y,plot 的 y 是一串连续的纵坐标值,而 bar 的 height 是每个柱子顶部的高度,柱子底部默认在 y=0。

网格通常只设 Y 轴方向(axis='y'),避免 X 轴网格干扰柱子视觉。

属性了解:

python 复制代码
plt.bar(x=categories,
        height=sales,
        width=0.6,           # 柱子宽度
        color='steelblue',   # 填充色
        edgecolor='black',   # 边框色
        alpha=0.8,           # 透明度
        label='销售额')

完整创建柱状图画布→数据→绘图→美化→展示:

python 复制代码
plt.figure(figsize=(10, 5))

products = ['产品A', '产品B', '产品C', '产品D', '产品E', '产品F']
sales = [120, 95, 150, 80, 200, 135]
x_pos = range(len(products))

# bar(x=柱子位置, height=柱子高度/数值, width=柱宽, color, edgecolor, alpha)
plt.bar(x_pos, sales, width=0.6, color='steelblue', edgecolor='black', alpha=0.85)

# 通用美化(和折线图一样)
plt.title('各产品销售额对比', fontsize=14)
plt.xlabel('产品名称')
plt.ylabel('销售额(万元)')
plt.xticks(x_pos, products)
plt.yticks(range(0, 250, 50))

# 柱状图网格通常只开 Y 轴,避免和柱子重叠
plt.grid(True, axis='y', linestyle='--', alpha=0.5)
plt.show()

可以看到,除了 plt.plot() 换成 plt.bar() 以及网格方向改成了 axis='y',其他部分的写法和折线图一模一样,标题、轴标签、刻度的设置完全通用。

5.1 分组柱状图

当需要对比多组数据时(如产品 A 和产品 B 的季度销售额),思路是让每组柱子向左/右偏移半个宽度来实现并排:

python 复制代码
plt.figure(figsize=(10, 5))

categories = ['Q1', 'Q2', 'Q3', 'Q4']
sales_A = [100, 120, 140, 160]
sales_B = [90, 110, 130, 150]

x = np.arange(len(categories))
width = 0.35

# 并排两组柱子:A 向左偏半个宽度,B 向右偏半个宽度
plt.bar(x - width/2, sales_A, width, label='产品A', color='steelblue', edgecolor='black')
plt.bar(x + width/2, sales_B, width, label='产品B', color='coral', edgecolor='black')

plt.title('两产品季度销售额对比', fontsize=14)
plt.xlabel('季度')
plt.ylabel('销售额(万元)')
plt.xticks(x, categories)
plt.legend(loc='upper left')
plt.grid(True, axis='y', linestyle='--', alpha=0.5)
plt.show()

6. 饼状图

饼状图用来展示各部分占总体的比例 。它和折线图、柱状图有一个根本区别:饼状图展示的是比例关系,不需要坐标轴

这就引出了一个重要的问题,前面花了很大篇幅介绍的那些通用图表元素(标题、轴标签、刻度、网格、图例),到了饼状图这里还能用吗?

图表元素 饼状图是否适用 说明
标题 title ✅ 适用 和其他图表一样
轴标签 xlabel / ylabel ❌ 不适用 饼图没有坐标轴概念
刻度 xticks / yticks ❌ 不适用 没有轴就没有刻度
网格线 grid ❌ 不适用 没有坐标轴,设了也没意义
图例 legend ⚠️ 一般不用 饼图通常在扇形旁直接标注名称和百分比,加图例反而让读者来回对照

这就是为什么理解每种图表的"本质"很重要,折线图和柱状图本质上是"坐标轴上的数据",所以轴标签、刻度、网格这些概念通用;而饼状图本质上是"一个圆按比例切分",它的参数完全围绕"怎么切这个圆"来设计。

常用的几个参数:

参数 说明 示例
x 各部分数值(非负,自动换算为百分比) [30, 20, 50]
labels 各部分名称,标注在扇形旁 ['A类', 'B类', 'C类']
autopct 百分比显示格式字符串 '%1.1f%%'(一位小数)、'%d%%'(整数)
explode 突出某一部分的偏移距离(与 x 同长度) [0, 0.1, 0](第二块突出)
startangle 起始绘制角度(默认0=从正东逆时针) 90(从12点钟方向开始)
colors 自定义颜色列表 ['#ff9999','#66b3ff','#99ff99']
wedgeprops 扇形边框样式字典 {'edgecolor':'white', 'linewidth':2}
pctdistance 百分比文字离圆心的距离(<1靠内,>1靠外) 0.7
labeldistance 类别标签离圆心的距离 1.1
shadow 是否添加阴影 True / False

饼图的数值会自动归一化成百分比,所以不必提前计算比例。

了解属性:

python 复制代码
plt.pie(x=sizes,
        labels=labels,
        autopct='%1.1f%%',           # 保留一位小数的百分比
        explode=explode,
        startangle=90,                # 从12点钟方向开始
        colors=['#ff9999','#66b3ff','#99ff99','#ffcc99'],
        wedgeprops={'edgecolor': 'white', 'linewidth': 2},
        shadow=True,
        pctdistance=0.75,
        labeldistance=1.1)

创建饼图:

python 复制代码
plt.figure(figsize=(8, 6))

labels = ['Python', 'Java', 'JavaScript', 'C++', 'Go', '其他']
sizes = [35, 25, 20, 8, 7, 5]
colors = ['#ff6b6b', '#4ecdc4', '#45b7d1', '#f9ca24', '#6c5ce7', '#a0a0a0']
explode = (0.08, 0, 0, 0, 0, 0)  # 只突出第一块(Python)

# pie(数值, labels=名称, autopct=百分比格式, explode=突出, startangle=起始角度, colors, wedgeprops=边框)
plt.pie(sizes,
        labels=labels,
        autopct='%1.1f%%',
        explode=explode,
        startangle=90,
        colors=colors,
        wedgeprops={'edgecolor': 'white', 'linewidth': 2})

# 饼状图只需要标题,不需要轴标签和刻度
plt.title('编程语言使用占比', fontsize=14)
plt.show()

注意对比:柱状图代码里 plt.bar() 之后跟着 xlabelylabelxticksyticksgrid,而饼状图这里 plt.pie() 之后只有一行 plt.title()不是因为饼状图"简单",而是因为它的图形本质决定了不需要那些坐标轴相关的设置。


7. 子图布局

当需要在一个画布上展示多张图表时,就需要用到子图。核心函数:

python 复制代码
figure, axes = plt.subplots(nrows=行数, ncols=列数, figsize=(宽, 高))

它返回一个元组 (Figure, Axes) ,我们用解包的方式分别拿到画布和坐标轴。axes 的类型取决于行列数:

  • 1 行 N 列N 行 1 列 时,axes 是一维数组,用 axes[0](最左/最上)、axes[1] ... axes[N-1](最右/最下)访问
  • 多行多列 (如 2×2)时,axes 是二维数组,用 axes[行][列] 访问------先行后列,和数学里矩阵的索引一模一样。比如 2×2 时:axes[0][0] 左上、axes[0][1] 右上、axes[1][0] 左下、axes[1][1] 右下

操作子图时方法名多了个 set_ 前缀,对照关系:

pyplot 风格(单图) 面向对象风格(子图)
plt.title('xxx') ax.set_title('xxx')
plt.xlabel('xxx') ax.set_xlabel('xxx')
plt.ylabel('xxx') ax.set_ylabel('xxx')
plt.xticks(位置, 标签) ax.set_xticks(位置) + ax.set_xticklabels(标签)
plt.yticks(位置, 标签) ax.set_yticks(位置) + ax.set_yticklabels(标签)
plt.grid(True) ax.grid(True)
plt.legend() ax.legend()

注意一个关键区别:pyplot 风格下 plt.xticks() 一步同时设好位置和标签,但面向对象风格下需要分两步,先 ax.set_xticks() 设位置,再 ax.set_xticklabels() 设标签。因为面向对象风格把每个操作拆得更细,给了更精细的控制力。

7.1 1×2 子图:柱状图 vs 饼状图并排对比

这个例子把柱状图和饼状图放一起,直观感受创建时的不同

python 复制代码
figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(14, 5))

# 1×2 时:axes[0]=左图, axes[1]=右图

# ===== 左图:柱状图 ------ 有坐标轴,需要标题、刻度、网格 =====
axes[0].bar([1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6],
            color='steelblue', edgecolor='black')
axes[0].set_title('柱状图', fontsize=13)
axes[0].set_xticks([1, 2, 3, 4, 5, 6])
axes[0].set_xticklabels(['A', 'B', 'C', 'D', 'E', 'F'])
axes[0].set_yticks([1, 2, 3, 4, 5, 6])
axes[0].set_yticklabels(['a', 'b', 'c', 'd', 'e', 'f'])
axes[0].grid(linestyle='--', alpha=0.5)

# ===== 右图:饼状图 ------ 无坐标轴,仅标题,labels 直接传入 pie =====
axes[1].pie([1, 2, 3, 4, 5, 6],
           labels=['A', 'B', 'C', 'D', 'E', 'F'],
           autopct='%1.1f%%',
           startangle=90,
           wedgeprops={'edgecolor': 'white', 'linewidth': 1.5})
axes[1].set_title('饼状图', fontsize=13)

plt.tight_layout()
plt.show()

左图柱状图:set_xticksset_xticklabelsset_yticksset_yticklabelsgrid,一套坐标轴全家桶。右图饼状图:只有 set_titlepie 自带的 labels,因为饼图没有坐标轴。并排一看,差异一目了然。

7.2 2×2 四宫格:四种图表同框

再来看四种图表类型同时展示的效果:

python 复制代码
figure, axes = plt.subplots(nrows=2, ncols=2, figsize=(12, 10))

# 2×2 时:axes[0][0]=左上, axes[0][1]=右上, axes[1][0]=左下, axes[1][1]=右下

x = range(1, 7)

# 左上 [0][0]:折线图
axes[0][0].plot(x, [1, 3, 2, 5, 4, 6], marker='o', color='steelblue', linewidth=2)
axes[0][0].set_title('折线图 --- 看趋势')
axes[0][0].set_xlabel('X'); axes[0][0].set_ylabel('Y')
axes[0][0].grid(True, linestyle='--', alpha=0.5)

# 右上 [0][1]:柱状图
axes[0][1].bar(x, [6, 4, 5, 2, 3, 1], color='coral', edgecolor='black')
axes[0][1].set_title('柱状图 --- 比大小')
axes[0][1].set_xlabel('类别'); axes[0][1].set_ylabel('数值')
axes[0][1].grid(True, axis='y', linestyle='--', alpha=0.5)

# 左下 [1][0]:散点图
axes[1][0].scatter([1, 2, 3, 4, 5, 6], [2, 5, 3, 8, 7, 10],
                   s=100, color='seagreen', alpha=0.7, edgecolors='black')
axes[1][0].set_title('散点图 --- 看分布')
axes[1][0].set_xlabel('X'); axes[1][0].set_ylabel('Y')
axes[1][0].grid(True, linestyle='--', alpha=0.5)

# 右下 [1][1]:饼状图
axes[1][1].pie([25, 20, 30, 15, 10],
              labels=['A', 'B', 'C', 'D', 'E'],
              autopct='%1.1f%%',
              startangle=90,
              wedgeprops={'edgecolor': 'white', 'linewidth': 2})
axes[1][1].set_title('饼状图 --- 看占比')

plt.tight_layout()
plt.show()

四个子图,四种类型。三个坐标轴类图表(折线、柱状、散点)都有 gridxlabelylabel,而右下角的饼状图依然只有 set_title 一行。这就是贯穿全文的核心观点,先理解每种图的本质是什么,自然就知道该设什么、不必设什么。


保存图片(dpi 控制清晰度,bbox_inches='tight' 裁掉多余白边)

plt.savefig('my_plot.png', dpi=300, bbox_inches='tight')


希望这篇笔记能帮你理清数据可视化基础。配套的 Matplotlib.ipynb 包含了文中所有代码的可运行版本,可以边读边动手实践。

以上为个人学习总结,旨在梳理个人理解。如有疏漏或不当之处,欢迎指正与交流。如果文章对你有帮助,别忘了点个赞、留个言,让更多的小伙伴看到~ 我们下篇再见!

📁 代码讲义:Matplotlib.ipynb

📅 更新日期:2026-06-07

相关推荐
ice8130331819 小时前
【Python】Matplotlib折线图绘制
开发语言·python·matplotlib
三品吉他手会点灯9 小时前
C语言学习笔记 - 44.运算符和表达式 - 运算符2 - 除法与取余运算符
c语言·开发语言·笔记·算法
2601_colin10 小时前
Codex插件全流程实战指南
开发语言·经验分享·笔记·微信开放平台
疯狂打码的少年10 小时前
输入输出控制方式:DMA(直接存储器存取)
网络·笔记
cuso4win10 小时前
Feed 流面试笔记
笔记·面试·职场和发展
GNG12 小时前
《终身成长》读书笔记
笔记·学习
Cloud_Shy61815 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第三章 Item 21 - 24)
开发语言·人工智能·笔记·python·迭代器模式
nnsix15 小时前
Unity HybirdCLR 简单了解 笔记
笔记
handler0117 小时前
【算法】并查集(普通/扩展/带权)模板与例题
数据结构·c++·笔记·算法·c·图论·查并集