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://www.pswp.cn/bicheng/96865.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/96865.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/96865.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL保姆级安装教程

MySQL 安装详细文档,适用于 Windows、macOS 和 Linux 系统,包含了从下载到验证安装的完整步骤: 一、Windows 系统安装 MySQL 1. 下载 MySQL 安装包 访问 MySQL 官方下载页:https://dev.mysql.com/downloads/installer/选择 “MySQ…

重塑你的大脑:从理解突触到掌控人生

重塑你的大脑:从理解突触到掌控人生你是否曾对自己的某些行为感到无力?明知应该早睡,却总忍不住刷手机;下定决心要锻炼,却常常半途而废。这些困扰我们的习惯,并非简单的意志力问题,其根源深深植…

《C++进阶之STL》【哈希表】

【哈希表】目录前言------------概念介绍------------1. 什么是哈希?------------核心术语------------一、哈希函数1. 哈希函数的核心特点是什么?2. 哈希函数的设计目标是什么?3. 常见的哈希函数有哪些?直接定址法除法散列法乘法…

机器学习-模型验证

验证泛化误差 在一个数据集上估计误差,数据集只能使用一次验证数据集:可以被使用多次 基本是训练数据集中的一部分 当使用“test”时,大多数时候指的是验证数据集 生成验证数据集方法 1、数据随机分入训练集或验证集 总是随机选n%的数据作为验…

Qt中自定义控件的三种实现方式

Qt中自定义控件的三种实现方式 在 Qt 应用开发中,标准控件往往无法满足所有需求。自定义控件允许开发者创建具有特定功能和外观的控件,提高代码复用性和界面一致性。Qt 提供了多种方式来开发自定义控件,从简单的组合现有控件到完全自定义绘制…

少儿舞蹈小程序(14)在线预约

目录1 创建数据模型2 搭建预约按钮3 搭建表单4 搭建管理功能整体效果总结目前我们的首页已经开发完毕了,包含轮播图、机构介绍、校区展示、作品与活动展示功能。家长在小程序了解了机构的基本情况之后,下一步就是参加试听,在线下真实体验一下…

TDengine 数据写入详细用户手册

TDengine 数据写入用户手册 概述 TDengine 提供了多种灵活的数据写入方式,以满足不同应用场景的需求。本手册将以智能电表场景为例,向初学者详细介绍各种数据写入方法的使用。 智能电表场景设定 假设我们需要为智能电表系统建立数据库: …

PTA 天梯赛 7-43:字符串关键字的散列映射

【题目来源】 https://pintia.cn/problem-sets/15/exam/problems/type/7?problemSetProblemId890 【题目描述】 给定一系列由大写英文字母组成的字符串关键字和素数 P,用移位法定义的散列函数 H(Key) 将关键字 Key 中的最后 3 个字符映射为整数,每个字…

Python核心技术开发指南(065)——with语句

版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl with语句定义 with语句是Python中用于简化资源管理的语法结构,通过上下文管理器(实现__enter__()和__exit__()方法的对象)确保资源在使用完毕后被正确释放,无论代码块是否发生异常。其核心作…

从基础到高级:一文快速认识MySQL UPDATE 语句

在数据库日常运维与开发中,数据更新是与数据查询同等重要的核心操作。MySQL 的 UPDATE 语句凭借其灵活的语法结构和强大的功能,能够满足从简单字段修改到复杂关联表更新的各类需求。然而,若使用不当,不仅可能导致数据一致性问题&a…

材料基因组计划(MGI)入门:高通量计算与数据管理最佳实践

点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,注册即送-H卡级别算力,80G大显存,按量计费,灵活弹性,顶级配置,学生更享专属优惠。 摘要 材料基因组计划(Materials Genome Ini…

Vision Transformer (ViT) :Transformer在computer vision领域的应用(一)

在图像领域,CNN卷积神经网络结构已经成为了标配,所有的模型都是基于CNN来构造的。 而在NLP领域,自从Transformer横空出世之后,基本上也统治了NLP的各个领域。 基于Transformer的强大,一些论文的工作都是将Transformer也应用到CV领域,在这篇论文:AN IMAGE IS WORTH 16X1…

自动驾驶中的传感器技术45——Radar(6)

本文详细介绍4D雷达相关解决方案,4D雷达关键词:4D Imaging Radar 1、4D雷达特点 图1 4D雷达 vs 3D雷达图2 4D雷达虚拟通道数量不断增加图3 4D雷达 vs 3D雷达 vs 摄像头和激光雷达图4 毫米波雷达在不同驾驶等级下的应用需求Ref:https://pdf.d…

浏览器调试工具详解

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

代码审计-PHP专题原生开发SQL注入1day分析构造正则搜索语句执行监控功能定位

挖掘技巧: -语句监控-数据库SQL监控排查可利用语句定向分析 -功能追踪-功能点文件SQL执行代码函数调用链追踪 -正则搜索-(update|select|insert|delete|).*?where.* 如何快速的在多个文件代码里面找脆弱: 1、看文件路径 2、看代码里面的变量&#…

Linux中:调试器gdb/cgdb的使用

引言在追寻光的路上不断前行,详细介绍Linux下gdb/cgdb的使用。一、准备• 程序的发布方式有两种,默认是 debug 模式和 release 模式。Linux gcc/g编译出来的二进制程序默认是release模式• 要使用gdb调试,必须在源代码生成⼆进制程序的时候加…

【算法】【链表】148.排序链表--通俗讲解

算法通俗讲解推荐阅读 【算法–链表】83.删除排序链表中的重复元素–通俗讲解 【算法–链表】删除排序链表中的重复元素 II–通俗讲解 【算法–链表】86.分割链表–通俗讲解 【算法】92.翻转链表Ⅱ–通俗讲解 【算法–链表】109.有序链表转换二叉搜索树–通俗讲解 【算法–链表…

计算机组成原理:存储系统概述

📌目录💾 存储系统概述:计算机的“记忆中枢”🏗️ 一、存储系统的层次结构:速度与容量的“黄金平衡”(一)经典存储层次金字塔(二)层次结构的设计原则(三&…

基于CNN/CRNN的汉字手写体识别:从图像到文字的智能解码

在人工智能浪潮的推动下, handwriting recognition(手写识别)技术已成为连接传统书写与数字世界的重要桥梁。其中,汉字手写体识别因其字符集的庞大和结构的复杂性,被视为模式识别领域最具挑战性的任务之一。近年来&…

【无人机】无人机用户体验测试策略详细介绍

一、 道:核心测试理念与目标核心理念: 用户体验测试的核心不是寻找功能Bug,而是评估用户在与无人机系统(包括飞行器、遥控器、APP)交互全过程中的主观感受、操作效率、情感变化和达成目标的难易度。我们的目标是让科技…