Matplotlib库学习之scatter(模块)
Matplotlib库学习之scatter(模块)
一、简介
Matplotlib 是 Python 中一个强大的绘图库,其中 matplotlib.pyplot.scatter
用于创建散点图。散点图在数据可视化中广泛用于展示两个变量之间的关系。
二、语法和参数
语法
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, plotnonfinite=False, data=None, **kwargs)
参数
- x, y: 必选参数,代表散点图中每个点的 x 坐标和 y 坐标。
- s: 可选,标量或数组,用于控制每个点的大小。
- c: 可选,标量或数组,用于控制每个点的颜色。
- marker: 可选,表示散点的形状,默认为
'o'
。 - cmap: 可选,
Colormap
对象或字符串,用于将标量数据映射到颜色。 - norm: 可选,
Normalize
对象,用于缩放颜色数据。 - vmin, vmax: 可选,控制亮度标量数据的最小值和最大值。
- alpha: 可选,标量,用于设置透明度。
- linewidths: 可选,标量或数组,表示每个点的边缘宽度。
- edgecolors: 可选,表示点的边缘颜色。
- plotnonfinite: 可选,布尔值,如果为
True
,会绘制非有限点(NaN
或Inf
)。 - data: 可选,传递数据的对象。
- kwargs: 其他传递给
matplotlib.axes.Axes.scatter
的参数。
返回值
返回一个 PathCollection
对象,表示绘制的散点图。
三、实例
3.1 绘制简单的散点图
import matplotlib.pyplot as plt# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]# 绘制散点图
plt.scatter(x, y)
plt.title("Simple Scatter Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.show()
输出:
显示一个简单的散点图,其中X轴表示1到5的值,Y轴表示2到6的值,每个点为一个圆形标记。
3.2 设置不同大小和颜色的点
import matplotlib.pyplot as plt# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]
sizes = [20, 50, 80, 200, 500]
colors = [10, 20, 30, 40, 50]# 绘制散点图
plt.scatter(x, y, s=sizes, c=colors, cmap='viridis', alpha=0.6)
plt.title("Scatter Plot with Varying Sizes and Colors")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.colorbar() # 添加颜色条
plt.show()
输出:
显示一个散点图,其中每个点的大小和颜色各不相同,点的颜色根据'viridis'颜色映射来进行区分。
3.3 使用自定义标记形状和边缘颜色
import matplotlib.pyplot as plt# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]
sizes = [100] * 5
colors = [0, 1, 2, 3, 4]# 绘制散点图
plt.scatter(x, y, s=sizes, c=colors, marker='^', edgecolors='r', linewidths=2, cmap='plasma')
plt.title("Scatter Plot with Custom Marker and Edge Color")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.colorbar() # 添加颜色条
plt.show()
输出:
显示一个散点图,其中每个点的标记形状为三角形,并且有红色边缘,每个点的颜色根据'plasma'颜色映射来区分。
四、注意事项
- 当使用
c
参数进行颜色映射时,如果c
是标量数组,则需要指定cmap
来定义颜色映射的范围。 alpha
参数可以用于调整点的透明度,值越低,点越透明。- 当
edgecolors
为'none'
时,点将没有边缘颜色。
相关文章:

Matplotlib库学习之scatter(模块)
Matplotlib库学习之scatter(模块) 一、简介 Matplotlib 是 Python 中一个强大的绘图库,其中 matplotlib.pyplot.scatter 用于创建散点图。散点图在数据可视化中广泛用于展示两个变量之间的关系。 二、语法和参数 语法 matplotlib.pyplot.scatter(x, y, sNone, c…...

脑网络相似性:方法与应用
摘要 图论方法已被证明是理解、表征和量化复杂大脑网络的有效工具。然而,定量比较两个图形的方法却较少受到关注。在一些网络神经科学应用中,比较大脑网络确实是必不可少的。在这里,本研究讨论了近年来用于比较大脑网络的技术现状、挑战以及…...

【JavaEE】深入MyBatis:动态SQL操作与实战项目实现指南
目录 MyBatis的进阶操作动态SQL<if>标签<trim>标签<where>标签<set>标签<foreach>标签<include>标签 练习表白墙数据准备引⼊MyBatis 和 MySQL驱动依赖配置MySQL账号密码编写后端代码测试 图书管理系统数据库表设计引⼊MyBatis 和MySQL 驱…...

Linux 实操-权限管理:深入了解rwx的作用
😀前言 本篇博文是关于Linux文件权限管理的基本知识和实际操作,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是…...

Linux 系统编程 --- day3
目录 1. fileno 2.fdopen 3. 目录操作 3.1 opendir 3.2 readdir 3.3 closedir 3.4 实现 ls 命令的功能 4. chdir (相当于cd命令) 5. getcwd (相当于pwd命令) 6. mkdir 7. rmdir (相当于rm命令&a…...

centos从home分区分配空间到根分区
在安装centos系统时如果采用默认自动分区,则会默认只给根分区分配50G空间,其余多余的会被分配到home分区,而作为家用服务器或仅个人使用的话,为了方便往往根分区会不够用而home分区几乎没使用。 先看下现在的磁盘结构和容量(xfs文…...

设计模式实战:即时通讯应用的设计与实现
系统功能需求 用户管理:支持用户注册、登录、注销、个人信息更新等功能。消息传递:支持即时消息发送、接收、存储和显示,支持文本、图片、语音等多种消息类型。在线状态管理:实时跟踪和显示用户的在线状态。消息通知:在消息到达时发送推送通知给用户。聊天记录管理:支持聊…...

白骑士的C#教学实战项目篇 4.3 Web开发
系列目录 上一篇:白骑士的C#教学实战项目篇 4.2 图形用户界面(GUI)应用 在这一部分,我们将从桌面应用程序扩展到 Web 开发。Web 开发是现代软件开发的重要领域,涵盖了从前端用户界面到后端服务器逻辑的完整堆栈。在这…...

【数据分析】(交互) 延迟互信息(熵、概率密度、高斯核、带宽估计)
文章目录 一、互信息基础二、延迟互信息2.1 交互延迟互信息三、时间序列互信息中的概率计算(高斯核密度估计)四、python 示例补充 1:熵熵的定义熵的性质熵的单位和对数底数熵的最大值高熵、低熵的分辨补充 2:概率密度 和 高斯核概率密度高斯核拓展3 :核密度函数带宽估计在…...

html转vue项目
HTML是一种用于构建网页的标记语言,而Vue是一种用于构建用户界面的JavaScript框架。在HTML中使用Vue可以提供更加灵活和动态的用户界面功能。本文将介绍如何将HTML代码转换为Vue,并提供具体的代码示例。 首先,我们需要在项目中引入Vue框架。…...

.NET系列 定时器
net一共4种定时器 System.Windows.Forms.Timer 类型 》》WinForm专用System.Windows.Threading.DispatcherTime类型》》WPF专用System.Threading.Timer类型》》》它使用 ThreadPool 线程来执行定时操作System.Timers.Timer类型 》》这种很老了。 它使用基于底层计时…...

【Golang】火焰图空白部分是什么?
起因 被同事灵魂拷问:图中这块空白是什么东西? 豆包回答说是数据采样不完整,特定函数或代码段未被调用之类的原因,感觉都不太合理。 之前看过一篇文章说:Heap Profiling的采样是无时无刻不在发生的,执行…...

Web框架 --- 解析Web请求 [FromBody] [FromQuery] [FromRoute] [FromHeader]
Web框架 --- 解析Web请求 [FromBody] [FromQuery] [FromRoute] [FromHeader] [FromBody][FromQuery][FromRoute] or [FromUri][FromHeader] [FromBody] FromBody 属性在使用 application/json 内容类型并在正文中传递 JSON 时使用通常情况下,FromBody 在一个操作中只…...

Messari 摘要报告:Covalent Network(CXT)2024 Q2 品牌重塑、AI模块化数据、亚太地区扩展、代币回购计划和网络增长
摘要 Covalent Network(CXT)在将质押从 Moonbeam 迁移到以太坊后,质押的 CQT 百分比恢复到了 20% 以上。 Covalent Network(CXT)在第二季度新增了五个网络运营商,使 BSP 集增长了 36%,提升了协…...

Open3D 计算点云的面状指数
目录 一、概述 1.1原理 1.2实现步骤 步骤 1:确定邻域点 步骤 2:计算协方差矩阵 步骤 3:特征值分解 步骤 4:计算面状指数 步骤 5:可视化与应用 1.3应用领域 二、代码实现 2.1关键函数 2.2完整代码 三、实现…...

python下麦克风设备选择和录音
import pyaudio import threading import wave import numpy as np def audio_f2i(data, width16):"""将浮点数音频数据转换为整数音频数据。"""data np.array(data)return np.int16(data * (2 ** (width - 1)))def audio_i2f(data, width16)…...

云和集群有什么区别?
我们常说的集群是针对于某项单独的功能或者说是某几个功能的集合体。 举个例子,比方有100台机器组成一个集群,这个集群里面50台机器装了hadoop,10台机器装了spark,剩下40台机器再装一个查询引擎presto。诸如此类,把多…...

无人机视角下的EasyCVR视频汇聚管理:构建全方位、智能化的AI视频监控网络
随着5G、AI、物联网(IoT)等技术的快速发展,万物互联的时代已经到来,视频技术作为信息传输和交互的重要手段,在多个领域展现出了巨大的应用潜力和价值。其中,EasyCVR视频汇聚平台与无人机结合的AI应用更是为…...

数字影像技术是如何改变我们看待世界的方式呢?
在当今的科技时代,数字影像技术正以惊人的速度改变着我们的生活和视觉体验。那么,什么是数字影像技术呢? 数字影像技术是指通过数字化手段对图像和视频进行获取、处理、存储、传输和展示的一系列技术。 它利用各种数字设备,如数…...

Chainlit实现启动页面选择不同的LLM启动器等设置界面
基本概念:启动选择器(Starters) 启动选择器(Starters) 是一种帮助用户开始与您的助手互动的建议。您可以为助手定义最多4个启动建议,并且可以为每个启动建议指定一个图标。 示例代码 (starters.py) impo…...

SQL - 增、改、删
插入 (insert into) 插入单行 insert into 表名 values ( 对应列的值,用,号间隔) //一般主键值用default,不可填null的不要填null insert into 表名 (需要提供值的列名) values (与之对应的提供的值) //其他的值只需mysql默认提供 insert into 表名 子查…...

怎么屏蔽电脑监控软件?企业管理者的智慧选择——精准定位,合理屏蔽,让监控软件成为助力而非障碍!
电脑监控软件在企业管理中扮演着日益重要的角色,它们能够提升工作效率、保障信息安全、预防内部风险。然而,过度或不当使用监控软件也可能引发员工隐私担忧,影响工作积极性和团队氛围。因此,作为企业管理者,如何精准定…...

Linux·权限与工具-make
1. Makefile/makefile工具 首先展示一下,makefile工具如何使用。我们先写一个C语言程序 然后我们建立一个Makefile/makefile文件,m大小写均可。我们在文件中写入这样两行 wq保存退出后,我们使用 make 命令 可以看到生成了可执行程序ÿ…...

C++的序列容器——数组
前言: 这篇文章我们就开始新的章节,我们之前说的C/C的缺陷那部分内容就结束了。在开始新的章之前我希望大家可以先对着题目思考一下,C的容器是什么?有什么作用?下面让我们开始新的内容: 目录 前言&#x…...

TCC 和 XA 协议之间的区别?
TCC(Two-Phase Commit)协议和XA协议都是用于分布式系统中确保事务原子性的协议。它们在实现分布式事务协调方面有一些相似之处,但也存在一些关键的不同点。 协议的协调者(Coordinator)角色: TCC协议&#x…...

萌啦数据插件使用情况分析,萌啦数据插件下载
在当今数字化时代,数据已成为企业决策与个人分析不可或缺的重要资源。随着数据分析工具的日益丰富,一款高效、易用的数据插件成为了众多用户的心头好。其中,“萌啦数据插件”凭借其独特的优势,在众多竞品中脱颖而出,成…...

C++初学(13)
13.1、for循环的组成部分 for循环的组成部分完成下面这些步骤: (1)设置初始值。 (2)执行测试,看看循环是否应当继续。 (3)执行循环操作。 (4)更新用于测试的值。 C循环设计中包含这要素,很容易识别,初始化、测试和更新操作工…...

目标检测之数据增强
一、概述 数据增强是一种通过人工或自动方式对数据进行修改或变换,以增加数据集规模和多样性的技术。在机器学习中,数据增强被广泛应用于解决数据稀缺、数据不平衡、数据噪声等问题,提高模型的泛化能力和鲁棒性。 二、为什么需要数据增强 …...

本地下载安装WampServer结合内网穿透配置公网地址远程访问详细教程
文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 Wamp 是一个 Windows系统下的 Apache PHP Mysql 集成安装环境,是一组常用来…...

一篇文章理清Java持久化脉络(关于JDBC、JPA、Hibernate、Spring Data JPA)
Java持久化 一、JDBC、JPA、Spring Data JPA 的定义及关系二、JDBC(古老的东西,只需简单知道是啥)1.1 JDBC概念1.2 JDBC示例 三、JPA(第二代持久化,代表是Hibernate等框架)3.1 JPA概念3.2 JPA示例 四、Spri…...