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…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
