ITPub博客

首页 > 人工智能 > 人工智能 > 人工智能之数据分析 Matplotlib:第二章 Pyplot

人工智能之数据分析 Matplotlib:第二章 Pyplot

原创 人工智能 作者:咚咚王者 时间:2025-11-27 19:22:14 0 删除 编辑

人工智能之数据分析 Matplotlib

第二章  Pyplot


前言

pyplot 是 Matplotlib 库中最常用、最便捷的模块,提供了类似 MATLAB 的命令式绘图接口,非常适合快速绘制各种图表。它通过一系列函数自动管理图形(Figure)、坐标轴(Axes)等底层对象,让初学者也能轻松上手。


一、导入方式

通常使用以下方式导入:

import matplotlib.pyplot as plt

这是官方推荐的标准写法。


二、基本用法示例

1. 绘制简单折线图

import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [1, 4, 2, 3]
plt.plot(x, y)           # 绘制折线图
plt.title("Simple Line Plot")
plt.xlabel("X axis")
plt.ylabel("Y axis")
plt.show()

2. 多条曲线 & 图例

plt.plot([1, 2, 3], [1, 4, 9], label='x²')
plt.plot([1, 2, 3], [1, 2, 3], label='x')
plt.legend()  # 显示图例
plt.show()

3. 散点图(scatter)

plt.scatter([1, 2, 3, 4], [10, 20, 25, 30], color='red')
plt.title("Scatter Plot")
plt.show()

4. 柱状图(bar)

categories = ['A', 'B', 'C']
values = [3, 7, 5]
plt.bar(categories, values)
plt.title("Bar Chart")
plt.show()


三、常用 pyplot 函数

函数 作用
plt.plot() 绘制折线图或点线图
plt.scatter() 绘制散点图
plt.bar()/ plt.barh() 垂直/水平柱状图
plt.hist() 直方图
plt.pie() 饼图
plt.title() 设置图表标题
plt.xlabel()/ plt.ylabel() 设置坐标轴标签
plt.xlim()/ plt.ylim() 设置坐标轴范围
plt.legend() 显示图例
plt.grid() 显示网格
plt.savefig('file.png') 保存图像到文件
plt.show() 显示图形(在脚本中必需,在 Jupyter 中可省略)

四、在 Jupyter Notebook 中使用

在 Jupyter 中,建议加上魔术命令以实现 内联显示:

%matplotlib inline
import matplotlib.pyplot as plt

这样图表会直接嵌入在 notebook 单元格下方,无需弹出新窗口。

如果想交互式操作(如缩放、平移),可使用:

%matplotlib widget   # 需安装 ipympl: pip install ipympl

五、pyplot 与面向对象 API 的关系

虽然 pyplot 使用方便,但其背后仍是基于 Figure 和 Axes 对象 的面向对象结构。例如:

# 面向对象写法(更灵活)
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [1, 4, 2])
ax.set_title("OO Style")
plt.show()

对于复杂图表(如多子图、精细控制),推荐使用面向对象方式;对于快速探索性绘图, pyplot 足够高效。


六、小贴士

  • 所有 plt.xxx() 函数都会作用于“当前”坐标轴(current axes)。
  • 每次调用 plt.figure() 或 plt.subplot() 会创建新的图形或子图。
  • 使用 plt.clf() 清空当前图形, plt.close() 关闭图形窗口。

后续

本文主要介绍了Matplotlib的常见库Pyplot的基本操作。之前的python过渡项目部分代码已经上传至gitee,后续会逐步更新。

资料关注

公众号:咚咚王 gitee: https://gitee.com/wy18585051844/ai_learning

《Python编程:从入门到实践》 《利用Python进行数据分析》 《算法导论中文第三版》 《概率论与数理统计(第四版) (盛骤) 》 《程序员的数学》 《线性代数应该这样学第3版》 《微积分和数学分析引论》 《(西瓜书)周志华-机器学习》 《TensorFlow机器学习实战指南》 《Sklearn与TensorFlow机器学习实用指南》 《模式识别(第四版)》 《深度学习 deep learning》伊恩·古德费洛著 花书 《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》 《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen)》 《自然语言处理综论  第2版》 《Natural-Language-Processing-with-PyTorch》 《计算机视觉-算法与应用(中文版)》 《Learning OpenCV 4》 《AIGC:智能创作时代》杜雨+&+张孜铭 《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》 《从零构建大语言模型(中文版)》 《实战AI大模型》 《AI 3.0》

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70048224/viewspace-3103761/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
深耕人工智能领域,做你的随身笔记。

注册时间:2025-10-26

  • 博文量
    47
  • 访问量
    46042