当前位置: 首页 > news >正文

Matplotlib:绘制你的第一张折线图与散点图

Matplotlib入门:绘制你的第一张折线图与散点图

在这里插入图片描述

导语

欢迎来到 Matplotlib 的世界!对于任何使用 Python 进行数据分析或机器学习的人来说,数据可视化都是一项至关重要的技能。Matplotlib 是 Python 中最流行、最基础的可视化库,它功能强大,可以创建各种静态、动态、交互式的图表。

本教程专为初学者设计,将带你从零开始,一步步学习如何使用 Matplotlib 绘制两种最常用的图表:折线图散点图。学完本篇,你将能够轻松地将数据转化为直观的图形。


✅ 准备工作:安装 Matplotlib

在开始之前,请确保你已经安装了 Matplotlib。如果尚未安装,可以通过 pip 命令轻松安装:

pip install matplotlib numpy

我们同时安装 numpy,因为它是处理数值数据的常用库,与 Matplotlib 配合使用效果更佳。


一、绘制你的第一张折线图

折线图(Line Chart)是用于显示数据随某个连续变量(如时间、顺序)变化趋势的理想选择。

1. 创建简单数据

首先,我们使用 numpy 创建一组简单的数据作为示例。

import matplotlib.pyplot as plt
import numpy as np# 创建 x 轴数据 (0, 1, 2, ..., 9)
x = np.arange(10)
# 创建 y 轴数据 (x 的平方)
y = x**2print("X轴数据:", x)
print("Y轴数据:", y)

2. 绘制基本折线图

有了数据后,只需几行代码即可绘制一张折线图。

import matplotlib.pyplot as plt
import numpy as np# 1. 准备数据
x = np.arange(10)
y = x**2# 2. 创建图表
plt.figure(figsize=(8, 6))  # 设置画布大小
plt.plot(x, y)              # 绘制折线图# 3. 添加图表信息
plt.title("我的第一张折线图 (My First Line Chart)") # 标题
plt.xlabel("X 轴")        # X轴标签
plt.ylabel("Y 轴")        # Y轴标签# 4. 显示图表
plt.show()

运行以上代码,你将看到如下所示的图表:

3. 自定义你的折线图

Matplotlib 提供了丰富的自定义选项,让你的图表更具表现力。

  • 颜色(color):设置线条颜色。
  • 线型(linestyle):可以是实线 -、虚线 --、点线 : 等。
  • 标记(marker):在数据点上添加标记,如圆形 o、方形 s、星形 *
# ... 接上文代码 ...# 绘制自定义折线图
plt.figure(figsize=(8, 6))
plt.plot(x, y,color='red',          # 颜色linestyle='--',       # 线型marker='o',           # 标记label="y = x^2"       # 图例标签
)# 添加网格和图例
plt.grid(True)              # 显示网格
plt.legend()                # 显示图例plt.title("自定义折线图")
plt.xlabel("X 轴")
plt.ylabel("Y 轴")plt.show()

二、绘制你的第一张散点图

散点图(Scatter Plot)主要用于观察两个变量之间的关系或分布情况。

1. 创建两组相关数据

我们创建两组数据,一组是随机的,另一组与第一组有一定的线性关系。

# 创建 50 个随机数据点
np.random.seed(42) # 设置随机种子以保证结果可复现
x_scatter = np.random.rand(50) * 10
y_scatter = 2 * x_scatter + np.random.randn(50) * 2 # y = 2x + 噪声

2. 绘制基本散点图

使用 plt.scatter() 函数来绘制散点图。

# ... 接上文代码 ...# 绘制基本散点图
plt.figure(figsize=(8, 6))
plt.scatter(x_scatter, y_scatter)plt.title("我的第一张散点图 (My First Scatter Plot)")
plt.xlabel("变量 X")
plt.ylabel("变量 Y")
plt.grid(True)plt.show()

3. 自定义你的散点图

散点图同样可以自定义,例如改变点的大小、颜色,甚至可以根据第三个变量来映射颜色。

  • 大小(s):设置点的大小。
  • 颜色(c):可以是一个颜色字符串,也可以是一个数值序列,用于颜色映射。
  • 透明度(alpha):设置点的透明度。
# ... 接上文代码 ...# 创建一个颜色变量
colors = np.random.rand(50)
# 创建一个大小变量
sizes = 1000 * np.random.rand(50)# 绘制自定义散点图
plt.figure(figsize=(10, 6))
scatter = plt.scatter(x_scatter, y_scatter,c=colors,           # 根据 colors 变量映射颜色s=sizes,            # 根据 sizes 变量设置大小alpha=0.6,          # 设置透明度cmap='viridis'      # 使用 viridis 颜色映射方案
)# 添加颜色条
plt.colorbar(scatter, label="颜色强度")plt.title("自定义散点图")
plt.xlabel("变量 X")
plt.ylabel("变量 Y")plt.show()

🤖 AI 助力你的编程之路

在学习和工作中,强大的 AI 工具能极大地提升我们的效率。这里向你推荐一款优秀的 AI 助手,或许能为你的编程和创作带来新的灵感。

😳 0v0 AI 助手推荐、官网:https://0v0.pro

  • 🆓 开源模型全免费:Llama、Qwen、Deepseek 等,无需付费即可体验。
  • 😲 基础模型全免费:gpt-4o、o4-mini、gpt-5-mini 等,满足日常开发需求。
  • ♾️ 对话真正无限制:不限时间、不限次数,尽情探索 AI 的能力。
  • 🫡 每周免费旗舰模型:每周解锁一款旗舰模型(如本周的 gpt-5),免费使用!

🗨️ 需要接入 AI API?

如果你是开发者,希望将 AI 能力集成到自己的应用中,可以考虑以下服务:

按量计算、官网:https://llm-all.pro
  • 😊 超高性价比:OpenAI、Claude、Gemini 等模型低至官方 1 折。
  • 🤓 国内模型覆盖广:豆包、千问、DeepSeek、Kimi 等 2-6 折。
  • ☺️ 模型种类齐全,满足各类需求。
按次计算、官网:https://fackai.chat
  • 全模型覆盖,1 元可购 100 次,性价比极高。

总结

恭喜你!通过本教程,你已经掌握了使用 Matplotlib 绘制折线图和散点图的基本方法,并学会了如何对它们进行自定义,以更好地展示你的数据。

回顾一下关键点:

  1. 导入库import matplotlib.pyplot as plt
  2. 折线图:使用 plt.plot(),适合展示趋势。
  3. 散点图:使用 plt.scatter(),适合观察变量关系。
  4. 图表元素plt.title(), plt.xlabel(), plt.ylabel(), plt.legend(), plt.grid()
  5. 显示图表:最后一定要调用 plt.show()

这只是 Matplotlib 功能的冰山一角。继续探索,你将能创造出更多更复杂的图表。希望这篇教程能为你打开数据可视化的大门!

如果你觉得这篇文章对你有帮助,请不要吝啬你的 点赞 👍收藏 ⭐!你的支持是我创作的最大动力!


文章转载自:

http://F7nWWKaM.dmwck.cn
http://Ozd0mi3B.dmwck.cn
http://tmQBV7K1.dmwck.cn
http://Zw5ZY3kg.dmwck.cn
http://wYsiOLzQ.dmwck.cn
http://YkbAlqbz.dmwck.cn
http://6JBLgwyN.dmwck.cn
http://K2O6HXUF.dmwck.cn
http://RkUUEPGl.dmwck.cn
http://r9ikTYsi.dmwck.cn
http://2mf27s35.dmwck.cn
http://gvxOiMx3.dmwck.cn
http://OODTIdw8.dmwck.cn
http://w5GegvRp.dmwck.cn
http://RrqEUzJD.dmwck.cn
http://gFWFV06c.dmwck.cn
http://sdZhIKF6.dmwck.cn
http://66pHZy8b.dmwck.cn
http://ByM4rI6V.dmwck.cn
http://Gwkg4p54.dmwck.cn
http://dFpyJWAy.dmwck.cn
http://Xh0iCEfW.dmwck.cn
http://xKxPjBbu.dmwck.cn
http://0RgfRDGZ.dmwck.cn
http://BQMV315W.dmwck.cn
http://3l2Dfxju.dmwck.cn
http://TgjRsD59.dmwck.cn
http://f67VXZdN.dmwck.cn
http://TQ7BVhP0.dmwck.cn
http://h9vJmbH4.dmwck.cn
http://www.dtcms.com/a/382241.html

相关文章:

  • 即梦批量生成图片软件使用运营大管家-即梦图片批量生成器
  • Qt中解析JSON文件
  • 从静态表查询冲突到其原理
  • Git 版本回退与撤销修改
  • Tcpdump: The Basics Tcpdump 基础
  • 智慧物联网水利大数据平台建设方案PPT(70页)
  • 字典树初步
  • GitHub 热榜项目 - 日榜(2025-09-13)
  • 18、决策树与集成学习 - 从单一智慧到群体决策
  • 基于 Spring 的策略模式框架,用于根据不同的类的标识获取对应的处理器实例
  • Python:OpenCV 教程——从传统视觉到深度学习:YOLOv8 与 OpenCV DNN 模块协同实现工业缺陷检测
  • UTC时间戳转换
  • 【Unity进阶】Unity发布PC端,隐藏并自定义默认标题栏
  • 【Qt】编写Qt自定义Ui控件步骤
  • HTTP 状态码背后的逻辑:从请求到响应的完整流程解析(含完整流程图)
  • 如何规划活动宣传软文的发布节奏?
  • 什么是NTP?
  • n8n工作流平台入门学习指南
  • JVM 四大晋升机制
  • ES——(一)基本概念
  • 算法提升之树形数据结构
  • 使用 OpenTelemetry 从你的日志中获取更多信息
  • Java中IntStream的详细用法及典型案例
  • Python ast模块(Abstract Syntax Trees,抽象语法树)介绍及使用
  • UFO²:微软推出的新一代桌面 Agent 操作系统,深度整合 Windows 与智能自动化
  • 嵌入式ARM SOC开发中文专题分享一:ARM SOC外围资源介绍
  • Java 大视界 -- 基于 Java 的大数据分布式计算在气象灾害数值模拟与预警中的应用
  • Python项目全面打包指南:从EXE到绿色软件包
  • C语言---运算符
  • 什么是包装类