用Python演绎5种常见可视化视图

保姆级教程:用Python+Plotly可视化分析ROS机器人地图分区算法(附代码) 本文提供了一份保姆级教程,详细介绍了如何使用Python和Plotly对ROS机器人地图分区算法进行3D可视化分析。通过分水岭算法等分区算法的动态演示,帮助开发者直观理解算法原理,并附有完整代码实现,适用于机器人路径规划和环境建模。 阅读详情

作者:妄心xyx

来源:简书

用Python演绎5种常见可视化视图

通过本篇文章,你将学到:

  • 视图的分类,从哪些维度进行分类

  • 5种常见视图的概念,以及如何在Python中进行使用,都需要用到哪些函数。

注意:想要更深层次的理解,需要自己动手跑代码,体验数据可视化过程

今天我来给你讲讲Python的可视化技术。

如果你想要用Python进行数据分析,就需要在项目初期开始进行探索性的数据分析,这样方便你对数据有一定的了解。其中最直观的就是采用数据可视化技术,这样,数据不仅一目了然,而且更容易被解读。同样在数据分析得到结果之后,我们还需要用到可视化技术,把最终的结果呈现出来。

可视化视图有哪些?

按照数据之间的关系,我们可以把可视化视图划分为4类,它们分别是比较、联系、构成和分布。我来简单介绍下这四种关系的特点:

  • 比较:比较数据间各类别的关系,或者是它们随着时间的变化趋势,比如折线图。

  • 联系:查看两个或两个以上变量之间的关系,比如散点图。

  • 构成:每个部分占整体的百分比,或者是随着时间的百分比变化,比如饼图。

  • 分布:关注单个变量,或者多个变量的分布情况,比如直方图。

同样,按照变量的个数,我们可以把可视化视图划分为单变量分析和多变量分析。

  • 单变量分析指的是一次只关注一个变量。比如我们只关注“身高”这个变量,来看身高的取值分布,而暂时忽略其他变量。

  • 多变量分析可以让你在一张图上可以查看两个以上变量的关系。比如“身高”和“年龄”,你可以理解是同一个人的两个参数,这样在同一张图中可以看到每个人的“身高”和“年龄”的取值,从而分析出来这两个变量之间是否存在某种联系。

常见视图

可视化的视图可以说是分门别类,多种多样,今天我主要介绍常用的5种视图,包括了散点图、折线图、直方图、热力图、成对关系。

1.散点图

散点图的英文叫做scatter plot,它将两个变量的值显示在二维坐标中,非常适合展示两个变量之间的关系。当然,除了二维的散点图,我们还有三维的散点图。

在Matplotlib中,我们经常会用到pyplot这个工具包,它包括了很多绘图函数,类似Matlab的绘图框架。在使用前你需要进行引用:

import matplotlib.pyplot as plt

在工具包引用后,画散点图,需要使用plt.scatter(x, y, marker=None)函数。x、y 是坐标,marker代表了标记的符号。比如“x”、“>”或者“o”。选择不同的marker,呈现出来的符号样式也会不同,你可以自己试一下。

下面三张图分别对应“x”“>”和“o”。

除了Matplotlib外,你也可以使用Seaborn进行散点图的绘制。在使用Seaborn前,也需要进行包引用:

import seaborn as sns

在引用seaborn工具包之后,就可以使用seaborn工具包的函数了。如果想要做散点图,可以直接使用sns.jointplot(x, y, data=None, kind='scatter')函数。其中x、y是data中的下标。data就是我们要传入的数据,一般是DataFrame类型。kind这类我们取scatter,代表散点的意思。当然kind还可以取其他值,这个我在后面的视图中会讲到,不同的kind代表不同的视图绘制方式。

好了,让我们来模拟下,假设我们的数据是随机的1000个点。

我们运行一下这个代码,就可以看到下面的视图(第一张图为Matplotlib绘制的,第二张图为Seaborn绘制的)。其实你能看到Matplotlib和Seaborn的视图呈现还是有差别的。Matplotlib默认情况下呈现出来的是个长方形。而Seaborn呈现的是个正方形,而且不仅显示出了散点图,还给了这两个变量的分布情况。

Matplotlib绘制:

Seaborn绘制:

2.折线图

折线图可以用来表示数据随着时间变化的趋势。

在Matplotlib中,我们可以直接使用plt.plot()函数,当然需要提前把数据按照X轴的大小进行排序,要不画出来的折线图就无法按照X轴递增的顺序展示。

在Seaborn中,我们使用sns.lineplot (x, y, data=None)函数。其中x、y是data中的下标。data就是我们要传入的数据,一般是DataFrame类型。

这里我们设置了x、y的数组。x数组代表时间(年),y数组我们随便设置几个取值。下面是详细的代码。

然后我们分别用Matplotlib和Seaborn进行画图,可以得到下面的图示。你可以看出这两个图示的结果是完全一样的,只是在seaborn中标记了x和y轴的含义。

3.直方图

直方图是比较常见的视图,它是把横坐标等分成了一定数量的小区间,这个小区间也叫作“箱子”,然后在每个“箱子”内用矩形条(bars)展示该箱子的箱子数(也就是y值),这样就完成了对数据集的直方图分布的可视化。

在Matplotlib中,我们使用plt.hist(x, bins=10)函数,其中参数x是一维数组,bins代表直方图中的箱子数量,默认是10。

在Seaborn中,我们使用sns.distplot(x, bins=10, kde=True)函数。其中参数x是一维数组,bins代表直方图中的箱子数量,kde代表显示核密度估计,默认是True,我们也可以把kde设置为False,不进行显示。核密度估计是通过核函数帮我们来估计概率密度的方法。

这是一段绘制直方图的代码。

我们创建一个随机的一维数组,然后分别用Matplotlib和Seaborn进行直方图的显示,结果如下,你可以看出,没有任何差别,其中最后一张图就是kde默认为Ture时的显示情况。

4.热力图

热力图,英文叫heat map,是一种矩阵表示方法,其中矩阵中的元素值用颜色来代表,不同的颜色代表不同大小的值。通过颜色就能直观地知道某个位置上数值的大小。另外你也可以将这个位置上的颜色,与数据集中的其他位置颜色进行比较。

热力图是一种非常直观的多元变量分析方法。

我们一般使用Seaborn中的sns.heatmap(data)函数,其中data代表需要绘制的热力图数据。

这里我们使用Seaborn中自带的数据集flights,该数据集记录了1949年到1960年期间,每个月的航班乘客的数量。

通过seaborn的heatmap函数,我们可以观察到不同年份,不同月份的乘客数量变化情况,其中颜色越浅的代表乘客数量越多,如下图所示:

5.成对关系

如果想要探索数据集中的多个成对双变量的分布,可以直接采用sns.pairplot()函数。它会同时展示出DataFrame中每对变量的关系,另外在对角线上,你能看到每个变量自身作为单变量的分布情况。它可以说是探索性分析中的常用函数,可以很快帮我们理解变量对之间的关系。

pairplot函数的使用,就好像我们对DataFrame使用describe()函数一样方便,是数据探索中的常用函数。

这里我们使用Seaborn中自带的iris数据集,这个数据集也叫鸢尾花数据集。鸢尾花可以分成Setosa、Versicolour和Virginica三个品种,在这个数据集中,针对每一个品种,都有50个数据,每个数据中包括了4个属性,分别是花萼长度、花萼宽度、花瓣长度和花瓣宽度。通过这些数据,需要你来预测鸢尾花卉属于三个品种中的哪一种。

这里我们用seaborn中的pairplot函数来对数据集中的多个双变量的关系进行探索,如下图所示。从图上你能看出,一共有sepal_length、sepal_width、petal_length和petal_width4个变量,它们分别是花萼长度、花萼宽度、花瓣长度和花瓣宽度。

下面这张图相当于这4个变量两两之间的关系。比如矩阵中的第一张图代表的就是花萼长度自身的分布图,它右侧的这张图代表的是花萼长度与花萼宽度这两个变量之间的关系。

End.

作者:妄心xyx

来源:简书

本文为转载分享,如有侵权请联系后台删除

线性代数可视化实战:矩阵乘法、框架差异与交互沙盒 线性代数是深度学习的几何基石,其本质是向量空间中的旋转、缩放与投影等几何变换,而非抽象符号运算。理解矩阵乘法的维度约束(如A∈ℝ^(m×n)与B∈ℝ^(n×p)的内维对齐)、掌握NumPy/PyTorch/TensorFlow在张量形状、设备管理与计算图构建上的关键差异,是避免shape mismatch和device error等高频问题的技术前提。可视化通过热力图呈现数值分布、箭头图表达向量方向、动态分解点积过程,将内存布局、广播机制和仿射变换等概念转化为可观察、可调试的视觉事实,显著降低多维索引的认知 阅读详情

相关推荐

手把手教你用Anaconda安装李沐d2l-zh包(附常见报错解决方案)

本文提供了一份详尽的Anaconda环境下安装李沐d2l-zh包的实战指南。文章从创建虚拟环境、配置国内镜像源加速下载入手,分步讲解核心依赖的预安装策略,并重点剖析了安装过程中常见的报错及其解决方法,旨在帮助初学者和开发者高效、稳定地搭建深度学习实验环境。

efc1234567的博客 1011

【干货!】用Python演绎5种常见可视化视图

通过本篇文章,你将学到:视图的分类,从哪些维度进行分类5种常见视图的概念,以及如何在Python中进行使用,都需要用到哪些函数。注意:想要更深层次的理解,需要自己动手跑代码,体验数据可视...

lovenankai的专栏 1538

MT5交易软件系统源码

Manager配置的功能及权限:管理客户、开户,销户、入金、信用额度、修改定单、人工交易报表、设定点差、强制平仓、修改密码,设定持仓交割单或挂单小止盈止损点数;26、修改价格 27、更改K线图历史价格 28、同步历史数据;2、系统设置 3、交易管理 4、交易柜台 5、价格更改 6、多台服。务器联机 7、恢复交易历史 8、数据源调整 9、备份服务调整 10、交易市场设定 11、交易单更改 12、平台时间设定(全世界) 13、可添加商品;15、设置商品利息;独立主机(服务器、VPS、VM)

tutujunjun的博客 904

用Python进行数据可视化的9种常用方法,易上手超实用 !!

Python数据可视化常用方法

xiaolinyui的博客 1万+

FPGA远程升级避坑实录:用STARTUPE2原语搞定Flash时钟,K7325T实测有效

本文深入解析了FPGA远程升级中的STARTUPE2原语应用,特别针对K7325T芯片的Flash时钟问题提供了实测有效的解决方案。通过详细的原语工作机制、Vivado工程实现步骤及调试技巧,帮助工程师规避常见陷阱,提升远程升级的可靠性和效率。

weixin_42558093的博客 142

YOLOv11 改进策略 | HWD:引入 Haar 小波变换,减少信息丢失

在卷积神经网络(CNN)中,下采样(Downsampling)是降低特征图分辨率、扩大感受野的关键操作,通常通过最大池化(MaxPool)或步长为 2 的卷积(Strided Convolution)实现。然而,这些方法在降低分辨率的同时,往往会丢失图像中的高频细节信息(如边缘、纹理)和精确的空间位置信息,这可能对后续特征提取和目标检测精度产生不利影响,尤其是对于小目标和需要精细定位的任务。

走向CTO的路上... 1792

第五章. 可视化数据分析图表—常用图表的绘制3—散点图,面积图,热力图

第五章. 可视化数据分析图表—常用图表的绘制3—散点图,面积图,热力图

weixin_45116749的博客 1923

Oracle数据库表空间使用情况查询

在Oracle数据库中,表空间(Tablespace)是用于存储表、索引和其他数据库对象的逻辑存储单元。了解表空间的使用情况对于数据库管理员和开发人员来说是非常重要的,因为它可以帮助他们监控数据库的空间使用情况并进行容量规划。本文将介绍如何查询Oracle数据库中的表空间使用情况。通过执行以上SQL查询语句,你可以获得Oracle数据库中表空间的使用情况、文件大小和表空间大小等信息。这些信息可以帮助你了解数据库的存储情况,并进行适当的优化和容量规划。查看表空间的数据文件和表空间大小。查看表空间的使用情况。

CsmbPascal的博客 860

python数据可视化——如何选择合适的视图

按照需要体现的内容确定合类型的视图。

qq_39224221的博客 251

微信小程序 - 最新实现项目适老化设计全流程及源码,老年模式大字版与常规版页面样式切换,老年人大字模式字体与布局更换关怀版解决方案(新老项目均适用的方案,全局页面统一修改文本字号/DOM排版元素等)

微信小程序,vue2,vue3,老年大字版设计,小程序开发如何实现适老化方案,放大字体字号及改变页面的布局,小程序关怀模式实现思路及代码,统一将布局都改了,全局修改字体大小适配老年人看不清问题,小程序怎么接入老年模式并根据模式改变页面的UI设计,实现全局修改字体大小适老化/关怀版改造,最新详细示例代码全流程,字体放大/缩小,老项目怎么适配老年人模式方案,小程序适老化设计指南,当切换成老年模式时页面所有排版都会发生变化,小程序vue开发,新手详细教程,老年模式字体设置思路和UI布局的设计,开发者可以通过wx.

🏆 前端领域优质创作者 7311

【网络】叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(二) - 网络规划

2. 全三层架构设计思路 采用全三层网络架构设计的出发点是: 使用尽量少的交换机高级功能,可以尽可能减少由于功能bug故障造成的问题; 使用尽量少的网络协议,以兼容不通厂商的网络设备 实现简单,易于维护,绝对可靠的路由协议; 通过控制路由来调度流量,尽量减少设备或协议的故障域; 牺牲高级功能带来的便捷,得到更高的可用性和性能; 由上述原则,本文的设计选择只使用静态路由和BGP...

因吹斯汀 1万+

【Python入门可视化】:22个完整数据可视化小例子,带你玩转可视化~

1. 柱状图堆叠 不同系列的数据使用相同的stack值会堆叠在一起; from pyecharts.charts import * from pyecharts import options as opts from pyecharts.faker import Faker def bar_stack(): bar = Bar(init_opts=opts.InitOpts(theme='light', width='

yunyun云芸 2万+

Windows Server 2016远程桌面服务配置和授权激活

Server 2016默认远程桌面连接数是2个用户,如果多余两个用户进行远程桌面连接时,系统就会提示超过连接数,可以通过添加远程桌面授权解决:1、添加远程桌面授权服务第一步:服务器管理 - 添加角色和功能打开添加角色和功能向导窗口,选择基于角色或给予功能安装:第二步:添加远程桌面会话主机和远程桌面授权功能:以上配置完成后即可使用多于2用户同时登陆,但使用期限为120天,再次登陆会有如下提示:2、添...

mahailiang的专栏 6万+

python时heatmap_用Python演绎5种常见可视化视图

今日推文说明二条:Python骚操作 | 川普的嘴,骗人的鬼!三条:抄作业了!6 大 Flask 开源实战项目推荐↑关注 + 星标,后台回复【大礼包】送你Python自学大礼包作者:妄心xyx来源:简书用Python演绎5种常见可视化视图通过本篇文章,你将学到:视图的分类,从哪些维度进行分类5种常见视图的概念,以及如何在Python中进行使用,都需要用到哪些函数。注意:想要更深层次的...

weixin_39935654的博客 754

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python sns绘制回归线_【干货!】用Python演绎5种常见可视化视图

-点击上方“中国统计网”订阅我吧!-通过本篇文章,你将学到:视图的分类,从哪些维度进行分类5种常见视图的概念,以及如何在Python中进行使用,都需要用到哪些函数。注意:想要更深层次的理解,需要自己动手跑代码,体验数据可视化过程今天我来给你讲讲Python的可视化技术。如果你想要用Python进行数据分析,就需要在项目初期开始进行探索性的数据分析,这样方便你对数据有一定的了解。其中最直...

weixin_39777242的博客 837

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

别再死记硬背了!用Python可视化带你直观理解伽马分布的形状与尺度参数

本文通过Python可视化技术深入解析伽马分布的形状参数α与尺度参数λ,帮助读者直观理解其几何意义。通过动态代码演示和3D图形展示,揭示参数变化对分布曲线的影响,并应用于实际数据拟合,提升统计学学习效率。

weixin_28684497的博客 327

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

237篇 历史文章合集

大家好,我是朱小五给大家整理了一下「凹凸数据」截止到2020年7月5日的历史文章合集。点击文章标题就可以跳转到相应文章,定期更新。大家可以按目录依次查看,也可以搜索(手机端点击右上角3个...

zhuxiao5的博客 5015

EmbodiedScan FAQ终极答疑:数据申请、许可证、版本更新等20个常见问题

EmbodiedScan 是一个面向具身智能(Embodied AI)的多模态 3D 感知数据集与基准,登顶 CVPR 2024 与 NeurIPS 2024,收录了超过 5000 个扫描场景、100 万张第一人称视角 RGB-D 图像、100 万条语言指令以及覆盖 760+ 类别的 16 万个 3D 检测框。很多新手在数据申请、许可证、环境安装和版本更新上踩过坑,这篇文章整理了 Embodied

gitblog_00173的博客 866

OpenClaw像素风赛博办公室:AI Agent工作流可视化与实时监控实践

在AI Agent与多智能体系统开发中,过程不透明与状态难追踪是核心痛点。可观测性(Observability)技术通过实时采集、处理与展示系统内部状态,将抽象的工作流转化为直观的可视化界面,极大提升了开发调试与系统监控的效率。其技术价值在于将黑盒过程透明化,支持快速定位性能瓶颈与故障点。OpenClaw项目创新性地采用像素风赛博办公室的隐喻,将Agent、Skill和任务流映射为员工、工具与工作流程,实现了对AI Agent工作流的实时追踪与动画演绎。这种设计不仅降低了理解门槛,其基于WebSocket的

weixin_33744141的博客 362

AI时代数据库技术:向量数据库与推理数据库的对比与应用

在人工智能和大数据时代,数据库技术正经历革命性变革。向量数据库通过将非结构化数据转化为高维向量,利用近似最近邻算法实现高效相似性搜索,特别适合语义搜索和推荐系统场景。推理数据库则擅长基于规则的逻辑推导,在知识图谱和决策系统中表现优异。这两种技术分别对应AI应用中的模式识别和逻辑推理需求,如同大脑的左右半球分工。工程实践中,Milvus等专用向量数据库在搜索性能上优势明显,而Neo4j等推理数据库在复杂规则处理上更胜一筹。理解'上下文理解'等核心概念及其实现原理,对构建高效AI基础设施至关重要。

weixin_30621711的博客 323

别再死记硬背IQ调制公式了!用Python+NumPy手把手带你复现信号解调全过程

本文通过Python和NumPy实战演示了IQ信号从调制到解调的全过程,重点解析了正交调制、希尔伯特变换等关键技术。通过代码实现和可视化分析,帮助读者直观理解信号处理原理,摆脱死记硬背公式的学习方式,提升通信工程实践能力。

weixin_30684743的博客 420

AI能否从零引导发明Python?深度解析大模型的知识解构与跨时代创新

大型语言模型(LLM)如GPT-4,本质上是海量人类知识的高度压缩与内化,其核心能力在于对复杂概念的**结构化理解**与**逻辑重构**。从技术原理看,这类模型通过深度学习从文本和代码中习得模式,其价值在于能够将高阶、集成的知识(如一门成熟的编程语言)逆向解构为其依赖的基础构件和设计原理。在工程实践中,这种能力使得AI能够扮演“知识引擎”的角色,进行**跨领域概念迁移**和**启发式重组创新**,例如将现代编程语言的设计哲学适配到完全不同的技术约束环境中。应用场景广泛,从系统架构设计评审、新技术学习的概念降

weixin_33911824的博客 291

数据结构学习指南:结合Neso Academy课程与代码实践攻克核心难点

数据结构是计算机科学中用于高效组织和存储数据的基础工具,其核心在于理解数据元素间的逻辑关系与物理结构。从数组、链表等线性结构,到树、图等非线性结构,每种数据结构都通过特定的存储与访问原理,在时间与空间复杂度间进行权衡,以解决不同的工程问题。掌握数据结构对于算法优化、系统性能提升和解决大规模数据处理挑战具有关键价值,广泛应用于数据库索引、缓存设计、网络路由和编译器开发等场景。本文聚焦于如何通过可视化教学与动手实践,特别是结合Neso Academy的课程体系,帮助学习者突破指针操作、递归实现等常见瓶颈,将抽象

weixin_30883311的博客 425
上一篇: 深度学习第一步——数据格式转换(附代码下载)
下一篇: CV 方向,长期看好,短期谨慎?
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值