首页
学习
活动
专区
圈层
工具
发布
清单首页其他文章详情

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

人工智能之数据分析 Matplotlib

第二章 Pyplot


前言

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


一、导入方式

通常使用以下方式导入:

代码语言:python
代码运行次数:0
复制
import matplotlib.pyplot as plt

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


二、基本用法示例

1. 绘制简单折线图

代码语言:python
代码运行次数:0
复制
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. 多条曲线 & 图例

代码语言:python
代码运行次数:0
复制
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)

代码语言:python
代码运行次数:0
复制
plt.scatter([1, 2, 3, 4], [10, 20, 25, 30], color='red')
plt.title("Scatter Plot")
plt.show()

4. 柱状图(bar)

代码语言:python
代码运行次数:0
复制
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 中,建议加上魔术命令以实现内联显示

代码语言:python
代码运行次数:0
复制
%matplotlib inline
import matplotlib.pyplot as plt

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

如果想交互式操作(如缩放、平移),可使用:%matplotlib widget # 需安装 ipympl: pip install ipympl


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

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

代码语言:python
代码运行次数:0
复制
# 面向对象写法(更灵活)
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,后续会逐步更新。

资料关注

公众号:咚咚王

《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》

下一篇
举报
领券