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

【Python】数据可视化之点线图

目录

散点图

气泡图

时序图

关系图


​​​​​​​

散点图

Scatterplot(散点图)是一种用于展示两个变量之间关系的图表类型。在散点图中,每个观测值(或数据点)都被表示为一个点,其中横轴(X轴)代表一个变量的值,而纵轴(Y轴)代表另一个变量的值。这些点的位置(即它们在图表上的x和y坐标)反映了两个变量之间的关系。

散点图非常适合于初步探索两个变量之间是否存在关系,以及这种关系的强度和方向。通过观察点的分布模式,可以识别出正相关、负相关、无相关或非线性关系。在散点图中,远离大多数数据点的观测值(即异常值或极端值)很容易被识别出来。同时,在统计学中,散点图可以用于支持或反驳关于两个变量之间关系的假设。

散点图需要注意一些问题:

  • 当数据点过多时,散点图可能会变得难以解读,因为点可能会重叠在一起。在这种情况下,可以考虑使用其他可视化方法,如密度图或六边形分箱图。
  • 散点图只能显示两个变量之间的关系,如果数据集包含多个变量,可能需要使用其他类型的图表(如多维散点图或平行坐标图)来展示更多信息。
  • 在解读散点图时,要注意数据点的分布是否均匀,以及是否存在潜在的偏差或异常值。
# 设置图形风格为whitegrid
sns.set(style="whitegrid")
# 加载diamonds数据集
diamonds = sns.load_dataset("diamonds")
# 创建一个8x8的图形
f, ax = plt.subplots(figsize=(8, 8))
# 去除图形的左边和底部的边框
sns.despine(f, left=True, bottom=True)
# x轴为depth,y轴为table,颜色为红色,数据为diamonds,坐标轴为ax,标记为圆形,大小为100,边框宽度为0.5,边框颜色为白色
sns.scatterplot(x="depth", y="table",color='r',data=diamonds, ax=ax, marker="o", s=100, linewidth=0.5, edgecolor="w")

也可以使用plt绘制 

# 生成一些随机数据
np.random.seed(0)
x = np.random.rand(100)
y = np.random.rand(100)
# 设置图表大小
plt.figure(figsize=(10, 6))  
# s是点的大小,c是颜色,alpha是透明度,edgecolors是边缘颜色
plt.scatter(x, y, s=50, c='blue', alpha=0.6, edgecolors='w') 
# 添加标题和标签
plt.title('Scatterplot', fontsize=16)
plt.xlabel('X Axis', fontsize=14)
plt.ylabel('Y Axis', fontsize=14)
# 设置坐标轴范围
plt.xlim(0, 1)
plt.ylim(0, 1)
# 添加网格线
plt.grid(True, which='both', linestyle='--', linewidth=0.5)
# 显示图例
plt.legend(['Data'], loc='upper left', fontsize=12)
# 显示图表
plt.show()

气泡图

气泡图(Bubble Chart)是一种多变量的数据可视化图表,它是散点图的一种变体,也可以看作是散点图和百分比区域图的组合。气泡图通过引入第三个变量来展示三个变量之间的关系,使得数据展示更加丰富和全面。

  • 多变量展示:能够同时展示三个或更多维度的数据。
  • 直观比较:通过气泡的位置和大小,可以直观地比较不同类别的数据。
  • 灵活性强:气泡图可以根据需要调整气泡的形状、颜色和透明度等属性,以增强视觉效果。
# 加载名为"planets"的数据集
planets = sns.load_dataset("planets")
# 创建一个颜色映射
cmap = sns.cubehelix_palette(as_cmap=True)
# 绘制散点图,x轴为"distance",y轴为"orbital_period",颜色映射为"year",大小为"mass"
ax = sns.scatterplot(x="distance", y="orbital_period",hue="year", size="mass",palette=cmap, sizes=(10, 200),data=planets)

# 设置绘图风格为白色
sns.set(style="white")
# 加载mpg数据集
mpg = sns.load_dataset("mpg")
# 绘制散点图,x轴为horsepower,y轴为mpg,颜色根据origin分类,大小根据weight分类
sns.relplot(x="horsepower", y="mpg", hue="origin", size="weight",sizes=(40, 400), alpha=.5, palette="plasma",height=6, data=mpg)

时序图

Lineplot是Seaborn库中用于绘制折线图的函数,它能够帮助用户可视化数据集中不同变量之间的关系,特别是展示随时间变化的数据趋势。Lineplot函数的基本用法是传入x轴和y轴的数据,以及包含这些数据的数据集(DataFrame或类似结构)。通过指定xy参数,Lineplot能够绘制出表示这两个变量之间关系的折线图。

Lineplot函数提供了多个参数来调整折线图的外观和行为:

  • x, y:分别指定折线图中x轴和y轴的数据。
  • data:指定包含x和y数据的数据集,通常是pandas的DataFrame。
  • hue:可选参数,用于根据某一列数据对折线进行分组着色,以区分不同的数据系列。
  • style:可选参数,用于指定折线的风格,如线型、破折号样式等。
  • markers:可选参数,设置为True时会在折线图上显示数据点,便于观察具体的数据值。
  • ci:控制置信区间的显示,如果不需要显示置信区间,可以设置为None。

在使用Lineplot时,需要确保传入的数据格式正确,且x轴和y轴的数据长度必须相同。如果数据中包含缺失值(NaN),Lineplot会自动跳过这些值进行绘图。Lineplot的绘图结果会受到Seaborn和matplotlib的样式设置影响,因此可以通过调整这些库的样式设置来改变折线图的外观。

# 加载fmri数据集
fmri = sns.load_dataset("fmri")
# 绘制折线图,x轴为timepoint,y轴为signal,根据region进行颜色区分,根据event进行线条样式区分
sns.lineplot(x="timepoint", y="signal",hue="region", palette="plasma",style="event",data=fmri)

# 创建一个随机数生成器,种子为88
rs = np.random.RandomState(88)
# 生成365个随机数,每个随机数有4个值
values = rs.randn(365, 4).cumsum(axis=0)
# 创建一个日期范围,从2016年1月1日开始,共365天,每天一个日期
dates = pd.date_range("1 1 2016", periods=365, freq="D")
# 创建一个DataFrame,包含生成的随机数和日期
data = pd.DataFrame(values, dates, columns=["A", "B", "C", "D"])
# 对DataFrame进行滚动平均,窗口大小为7
data = data.rolling(7).mean()
# data为数据集,palette为颜色调色板,linewidth为线宽
sns.lineplot(data=data, palette="inferno", linewidth=3)

关系图

relplot是Seaborn库中用于绘制关系图的函数,它是一个高级绘图函数,能够灵活地处理多变量关系,并自动生成具有多个子图的图表。

  • x, y:分别指定图表的x轴和y轴数据。
  • data:包含绘图所需数据的数据集,通常是pandas的DataFrame。
  • hue:用于根据某一列数据对数据进行分组,并在图表中用不同的颜色表示。
  • size:控制数据点的大小或线条的粗细,根据数据集中的某列进行映射。
  • style:控制数据点的样式或线条的样式,如点型、线型等,同样可以根据数据集中的某列进行映射。
  • row, col:用于将数据按照指定的列分割成多个子图,分别绘制在行或列上。
  • palette:指定hue参数分组的颜色映射方案。
  • height:每个子图的高度(单位:英寸)。
  • aspect:子图的宽高比,默认为1。
  • kind:指定绘图的类型,'scatter''line'
# 加载名为"dots"的数据集
dots = sns.load_dataset("dots")
# 绘制关系图,x轴为"time",y轴为"firing_rate",根据"coherence"进行颜色区分,根据"choice"进行大小区分,根据"align"进行列区分
# "size_order"指定了大小顺序,"height"指定了图形的高度,"aspect"指定了图形的纵横比,"facet_kws"指定了子图的关键字参数
# "kind"指定了图形的类型为线图,"legend"指定了图例的位置为全图,"data"指定了数据集为"dots"
sns.relplot(x="time", y="firing_rate",hue="coherence", size="choice", col="align",size_order=["T1", "T2"],palette="viridis",height=5, aspect=.75, facet_kws=dict(sharex=False),kind="line", legend="full", data=dots)

# 加载名为 "tips" 的数据集
tips = sns.load_dataset("tips")
# 绘制关系图,x 轴为 "total_bill",y 轴为 "tip",根据 "smoker" 进行颜色区分,根据 "day" 进行列区分
# "size_order" 指定了大小顺序,"height" 指定了图形的高度,"aspect" 指定了图形的纵横比,"facet_kws" 指定了子图的关键字参数
# "kind" 指定了图形的类型为线图,"legend" 指定了图例的位置为全图,"data" 指定了数据集为 "tips"
sns.relplot(x="total_bill", y="tip",hue="smoker", col="day",size_order=["T1", "T2"], palette="inferno",height=5, aspect=.75, facet_kws=dict(sharex=False),kind="line", legend="full", data=tips)

 

相关文章:

【Python】数据可视化之点线图

目录 散点图 气泡图 时序图 关系图 ​​​​​​​ 散点图 Scatterplot(散点图)是一种用于展示两个变量之间关系的图表类型。在散点图中,每个观测值(或数据点)都被表示为一个点,其中横轴(…...

jupyter使用pytorch

1、激活环境 以下所有命令都在Anaconda Prompt中操作。 conda activate 环境名称我的环境名称是myenv 如果不知道自己的pytorch配在哪个环境,就用下面方法挨个试。 2、安装jupyter 1、安装 pip install jupyter2、如果已经安装,检查jupyter是否已…...

Electron 安装以及搭建一个工程

安装Node.js 在使用Electron进行开发之前,需要安装 Node.js。 官方建议使用最新的LTS版本。 检查 Node.js 是否正确安装: # 查看node版本 node -v # 查看npm版本 npm -v注意 开发者需要在开发环境安装 Node.js 才能编写 Electron 项目,但是…...

羽毛类型检测系统源码分享

羽毛类型检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…...

Xiaojie雷达之路---doa估计(dbf、capon、music算法)

Hello,大家好,我是Xiaojie,欢迎大家能够和Xiaojie来一起学习毫米波雷达知识,本篇文章主要是介绍一下雷达信号处理中的dbf、capon、music测角算法,一起来看看吧!!! 前言 本文从信号模型、dbf原理、capon原理、music原理以及代码仿真进行展开描述。 信号模型 阵列接收到…...

十大排序算法总结

完整文档见 排序算法总结——语雀文档 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破…...

大厂AI必备数据结构与算法——链表(三)详细文档

冲冲冲!开干 神马!神马!神马,一向让我们学习起来抓耳挠腮的数据结构课程竟然也有教程?还那么详细??真的假的? 那么好,胡广告诉你是假的,哈哈哈哈哈哈哈哈哈…...

一键自动化配置OpenHarmony编译环境

一、概述 本工程旨在对Ubuntu一键初始化配置环境,解决OpenHarmony的编译依赖问题,基于本脚本配置后配合一键下载OpenHarmony代码便能轻松掌控OpenHarmony的下载、编译。 当前建议使用稳定分支Itopen-2.0-Release,该分支是经过多次测试OK的&…...

不同领域的常见 OOD(Out-of-Distribution)数据集例子

以下是几个来自不同领域的常见 OOD(Out-of-Distribution)数据集例子,这些数据集常用于测试和研究模型在分布变化或分布外数据上的泛化能力: 1. 计算机视觉领域 CIFAR-10 vs. CIFAR-10-C / CIFAR-100-C: 描述:CIFAR-10…...

gRPC协议简介

gRPC 是谷歌开源的一套 RPC 协议框架。主要做两件事情:一是数据编码,二是请求映射。 数据编码 数据编码顾名思义就是在将请求的内存对像转化成可以传输的字节流发给服务端,并将收到的字节流再转化成内存对像。方法有很多,常见的…...

[dp+dfs]砝码称重

题目描述 现有 n n n 个砝码,重量分别为 a 1 , a 2 , … , a n a_1, a_2, \ldots,a_n a1​,a2​,…,an​ ,在去掉 m m m 个砝码后,问最多能称量出多少不同的重量(不包括 0 0 0 )。 输入格式 第一行为有两个整数…...

MYSQL-查看表中字段属性语法(三)

查看表中字段全部信息 show full columns from database_name.table_name; show full columns from table_name;示例 mysql> show full columns from world.city; ----------------------------------------------------------------------------------------------------…...

第三讲 part 3:前端处理LINK3D - 代码解析 - 从main出发看总体流程(ROS1改为ROS2)

目录 1. ROS1 ->ROS21.1 包含头文件1.2 全局变量定义1.3 结构体定义1.4 点云容器定义1.5 图像处理相关变量1.6 ROS2发布者和订阅者定义1.7 全局变量,被不断更新1.8 点云处理相关变量1.9 图像描述符1.10 主函数1.10.1. 初始化ROS21.10.2. 创建节点1.10.3. 声明参数1.10.4. 设…...

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——15.红黑树

1.红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路 径会比其他路径长出俩倍,…...

【C++】Eclipse技巧汇总

Eclipse C/C调试无法输入 在debug C/C程序时,Eclipse自带的窗口,无法读取cin等输入 解决办法: 参考:https://blog.csdn.net/sagjhdj/article/details/123271383 思路是调用外部console: 依次点击Debug>Debug Conf…...

Golang | Leetcode Golang题解之第430题扁平化多级双向链表

题目: 题解: func dfs(node *Node) (last *Node) {cur : nodefor cur ! nil {next : cur.Next// 如果有子节点,那么首先处理子节点if cur.Child ! nil {childLast : dfs(cur.Child)next cur.Next// 将 node 与 child 相连cur.Next cur.Chi…...

Java实现找色和找图功能

某天,张三接到一个任务需求,将一个Excel表格里面的员工信息,录入到员工系统里面,由于数据量非常大,操作起来巨慢。经过一段时间的操作和观察,他发现这种操作,非常有规律,基本就是一些…...

linux脚本工具

目录 shell工具查看Nvidia GPU状态查看某个监听端口是否存在设置局部代理查找关键字相关进程根据日常所需&#xff0c;持续更新 shell工具 减少重复性工作&#xff0c;简化工作流程&#xff0c;提高工作效率 将所编写的shell脚本赋予可执行权限 chmod x <脚本文件> 在…...

MySQL之基础篇

数据库操作 1.查看当前的数据库版本 select version(); 2.显示所有数据库 show databases; 3.创建数据库 create [if not exists] database 数据库名 character set 字符编码集 collate 排序规则&#xff1b; 我们这里提前说一下 被方括号括起来的代码 表示可写可不写 示例…...

13年408计算机考研-计算机网络

第一题&#xff1a; 解析&#xff1a;OSI体系结构 OSI参考模型&#xff0c;由下至上依次是&#xff1a;物理层-数据链路层-网络层-运输层-会话层-表示层-应用层。 A.对话管理显然属于会话层&#xff0c; B.数据格式转换&#xff0c;是表示层要解决的问题&#xff0c;很显然答案…...

基于MCP协议与RAG技术构建智能聊天应用:架构解析与实战指南

1. 项目概述&#xff1a;一个基于MCP协议的RAG聊天应用最近在开源社区里&#xff0c;一个名为gogabrielordonez/mcp-ragchat的项目引起了我的注意。乍一看标题&#xff0c;它融合了当下两个非常热门的技术概念&#xff1a;MCP和RAG。对于从事AI应用开发&#xff0c;特别是希望构…...

面向高校的基于算法的发明专利申请写作方法

发明专利作为国家和高校认可的成果形式之一&#xff0c;其申请和授权一直受到教师和学生们的高度重视&#xff1b;基于算法的发明专利作为发明专利的重要分支&#xff0c;每年都有大量的算法专利被授权或者拒绝。虽然高校的教师对论文写作非常熟悉&#xff0c;但是发明专利的写…...

AI 的能源账单:训练一次模型够一个城市用一年、$440 亿投资涌入、核能成为新基建 — 算力背后的环境代价

Stanford HAI 2026 年 AI Index 报告用一组数字泼了盆冷水&#xff1a;AI 模型正在取得突破性的科学和推理成果&#xff0c;但环境代价高到令人不安。报告披露&#xff1a;一个前沿大模型的单次训练&#xff0c;能耗相当于一个小型城市一天的全部用电量。而 2024-2026 年间&…...

[GESP202512 C++ 三级] 判断题第 9 题

【题目描述】 给定一个正整数 a &#xff0c;当需要计算 -a 的补码时&#xff0c;有这样一个计算技巧&#xff1a;将 a 的二进制形式从右往左扫描&#xff0c;遇到第一个 1 之后&#xff0c;将找到的第一个 1 左边的所有位都取反&#xff0c;能得到 -a 的补码。 答&#xff1a;…...

Git 查看某个文件的修改记录

Git 查看某个文件的修改记录 git log – filename filename为全路径 git log – aa/bb/cc/dd/ee/ff.c...

基于Terraform与Azure的Dify AI平台云原生自动化部署实践

1. 项目概述&#xff1a;一键部署AI应用平台的云原生方案最近在折腾AI应用开发平台&#xff0c;发现很多团队在从本地原型验证转向云端生产环境时&#xff0c;总会遇到一堆“部署地狱”的问题。环境配置不一致、资源管理混乱、成本不可控&#xff0c;这些问题在需要整合多个AI模…...

基于CPX与LSM303的电子罗盘制作:从I2C通信到传感器校准全解析

1. 项目概述与核心价值如果你玩过嵌入式开发&#xff0c;尤其是涉及姿态感知或导航的项目&#xff0c;大概率会碰到一个经典问题&#xff1a;如何让设备“知道”自己面朝哪个方向&#xff1f;加速度计能告诉你设备是平放还是倾斜&#xff0c;陀螺仪能告诉你转得多快&#xff0c…...

基于Claude的AI编程助手:从代码生成到自动化审查的全流程实践

1. 项目概述&#xff1a;当Claude遇上代码&#xff0c;一个全能型AI编程助手的诞生最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫“everything-claude-code”。光看名字&#xff0c;你可能会觉得这又是一个普通的AI代码生成工具&#xff0c;但实际深入…...

NotebookLM+人类学工作流重构:3类濒危语言档案处理实录(附可复用知识图谱架构)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM人类学研究辅助 NotebookLM 是 Google 推出的基于 LLM 的研究型笔记工具&#xff0c;其核心能力在于对用户上传的私有文档&#xff08;如田野笔记、访谈转录稿、民族志手稿、考古报告 PDF 等…...

Win10 任务管理器点击“详细信息”崩溃 + U盘 PPTX 无法删除/复制(0x800700EA)问题排查

一、问题现象 最近遇到一个比较奇怪的问题&#xff1a; Win10 系统 任务管理器只能以“小窗口模式”打开 点击“详细信息”后直接崩溃 事件查看器报错&#xff1a; 错误应用程序名称: taskmgr.exe 版本: 10.0.19041.6280同时还伴随另一个问题&#xff1a; U盘中的 .pptx …...