轻松用 Seaborn 进行数据可视化

【统计可视化神器】Seaborn完全指南:10种高级图表+5个实战案例 | Python数据分析必备 Seaborn是一个基于Matplotlib的Python数据可视化库,专为统计绘图而设计。它提供了一套高级接口,使创建复杂且信息丰富的统计图表变得简单。优雅的默认样式:相比Matplotlib的基础风格,Seaborn提供了更现代、更美观的默认设置内置统计功能:直接集成统计模型,可一步完成数据计算和可视化无缝处理数据框:与pandas数据结构紧密集成,简化数据处理流程多变量关系探索:提供专门的工具来探索和可视化多维数据关系智能调色板:为分类、顺序和连续数据提供合适的配色方案# 自定义调色板。 阅读详情

640?wx_fmt=jpeg

from Unsplash by @rawpixel


作者 | Mukul Singh Chauhan

译者 | Lemon

出品 | Python数据之道 (ID:PyDataRoad)



轻松用 Seaborn 进行数据可视化


Seaborn 是一个数据可视化库,可帮助在Python中创建有趣的数据可视化。 大多数数据分析需要识别趋势和建立模型。 本文将帮助您开始使用 Seaborn库创建数据可视化。

Seaborn 是一个出色的数据可视化库,它让我们的生活变得轻松。 首先,您应该在 jupyter notebook 中键入以下命令。

import pandas as pd # Pandas	
import numpy as np # Numpy	
import matplotlib.pyplot as plt # Matplotlibrary	
import seaborn as sns # Seaborn Library	
%matplotlib inline	
sns.set()


1 直方图 (Distplot)

sns.distplot()结合直方图并绘制核密度估计图。 这里 bin 区间大小是自动计算的。

 sns.distplot(data[“variablename”]) 

我们将使用以下代码在 jupyter notebook 中加载数据集。

集。

  1. # Load the Dataset in Python

  2. tips = sns.load_dataset("tips")

  3. tips.head()


640?wx_fmt=png

现在,由于我们已经加载了数据集,我们将使用 “total_bill” 变量创建第一个图。 让我们从 tips数据集创建 “total_bill” 变量的 distplot。

  1. sns.distplot(tips["total_bill"], bins=16, color="purple")

  2. # Binsize is calculated using square-root of row count.


640?wx_fmt=png

图1

现在,我们来对上述代码进行进一步描述:

  • sns.distplot — 这个命令将启动 distplot 的初始创建

  • tips[“total_bill”] — 从 tips 数据集(数据框)中取出列(total_bill)。 在这里,我们应该观察一下,可以使用方括号来拉取列值,并且列名应该用引号括起来(双引号/单引号)都被接受。

我们推测 — “total_bill”变量本质上是倾斜的,大多数帐单值都在 $10 - $20 范围内。

2 联合分布图 (Jointplot)

联合分布图 (Jointplot)采用两个变量并一起创建直方图和散点图。 让我们看一下 jointplot 的语法。

sns.jointplot(x = , y =, data=)

让我们从 tips数据集创建 total_bill 和 tip变量的联合分布图。 通常,任何餐厅的小费金额取决于总账单/账单大小。 让我们看看这个情景下是什么样的。 代码如下:

  1. sns.jointplot(x = "total_bill", y = "tip", data = tips, color="purple")


640?wx_fmt=png

图2

如上所述,散点图似乎显示总账单和小费金额之间的强相关性。 在它的顶部,我们可以看到各个变量的直方图。

2.1 Jointplot :: kind =”hex”

直方图的双变量类比称为“hexbin”图,因为它显示了六边形区间内的观察计数。 此图对于相对较大的数据集最有效。 也称为Hexbin Plots。

sns.jointplot(x = , y =, data=, kind=”hex”)

  1. # Jointplot - Scatterplot and Histogram

  2. sns.jointplot(x = "total_bill", y = "tip", data = tips, kind ="hex",

  3. color="lightcoral")ips, kind ="hex",color="lightcoral")

640?wx_fmt=png

图3

有几种类型的值可以放在 sns.jointplot 中来创建不同的图。 默认情况下,联合分布图显示散点图。 现在,在上面的情节图中,它显示了六边形。 六边形的深色表示数据点的高密度,其中较浅的颜色表示较少的点。

kind 参数值可以是以下取值:

kind : { "scatter" | "reg" | "resid" | "kde" | "hex" }

下面,我们来看看 kind="kde" 的情形。

2.2 Jointplot :: kind =”kde”

  1. # Jointplot - Scatterplot and Histogram

  2. sns.jointplot(x = tips["total_bill"], y = tips["tip"],kind = "kde",

  3. color="purple") # contour plot


640?wx_fmt=png

图4

上面显示的图表称为轮廓图。 轮廓图(有时称为“水平图”)是一种在二维平面上显示三维表面的方法。 它绘制了y轴上的两个预测变量X Y和轮廓的响应变量Z.

3 矩阵图 (Pairplot)

矩阵图基本上绘制了变量之间的成对关系。 它支持用 “hue” 来为类别变量绘图着色。

sns.pairplot(“dataframe”)

  1. # Pairplot of Tips

  2. sns.pairplot(tips, hue = "sex", palette="Set2")

  3. # this  will color the plot gender wise


640?wx_fmt=png

图5

下面我们来了解下矩阵图的含义。 对角线部分显示了具有核密度估计的 distplot图或直方图。 矩阵图的上部和下部显示散点图。 “hue”使用列的类别为绘图着色。

  • hue = “sex” — 设置为按不同的性别进行着色

  • palette = “Set2” - “Set2” 是颜色的一个系列。

4 条形图 (Barplot)

条形图用于绘制分类列和数字列。 它在可视化中创建了条形。 让我们用“性别”创建一个“total_bill”的条形图,让我们看看哪类人支付更多。

sns.barplot(x = , y =, data=)


  1. # Barplot

  2. sns.barplot(x ="sex" , y ="total_bill" , data=tips)

  3. # Inference - Total Bill Amount for males is more than Females.


640?wx_fmt=png

图6


  1. # Lets Plot Smoker Vs Total Bill :: The purpose is to find out if

  2. # Smokers pay more bill than Non Smokers

  3. sns.barplot(x = "smoker", y = "total_bill", data =tips)

  4. # Inference - More Bill for Smokers



640?wx_fmt=png

图7


  1. # Lets Find If There is more Bill In Weekend or Weekdays

  2. sns.barplot(x = "day", y = "total_bill", data =tips)

  3. # People tend to visit more on weekends


640?wx_fmt=png

图8

5 箱形图 (Boxplot)

箱形图 (Boxplot)是给定数据集的五点汇总统计的直观表示。 五个数字摘要包括:

  • Minimum 最小值

  • First Quartile 1/4 值

  • Median (Second Quartile) 中位数

  • Third Quartile 3/4 值

  • Maximum 最大值

此外,值得注意的一点是,为分类 - 连续变量创建了一个箱线图,这意味着如果x轴是分类的并且y轴是连续的,则应创建箱线图或小提琴图。

让我们从 tips数据集创建一个 “day” 和 “total_bill” 的箱线图。

sns.boxplot(x = , y =, data=)

  1. # Boxplot

  2. sns.boxplot(x = "day", y = "total_bill", data=tips)


640?wx_fmt=png

图9


  1. # Add hue to split the barplot. Making it more fancier

  2. sns.boxplot(x = "day", y = "total_bill", data=tips, hue = "smoker")

  3. # On Friday people have more bill if they are a Non smoker vs smoker


640?wx_fmt=png

图10

hue =“smoker”: - 它为吸烟者和非吸烟者创造了一个箱线图。 例如: 在星期五的情况下,可以清楚地看到,与当天的吸烟者相比,非吸烟者的食物费用更多。

  1. # Violin Plots

  2. sns.violinplot(x = "day", y = "total_bill", data = tips)


640?wx_fmt=png

图11

小提琴图跟箱形图有些类似。他们之间的描述可以参考下面的图示内容:

640?wx_fmt=png

6 LM Plot

sns.lmplot 是绘制一个在散点图中进行线性回归拟合的直线。 它遵循普通的最小二乘法,线代表最佳拟合线。 为了更好地理解这一点,建议进一步了解一下线性回归的相关知识。

代码如下:

  1. # LM PLot

  2. sns.lmplot(x = "total_bill", y = "tip", data = tips, hue="day")


640?wx_fmt=png

图12

上图显示了不同日期的total_bill变量的线性回归拟合,如图例中所示,这是在 sns.lmplot 中使用 hue =“day” 获得的。

恭喜! 您已完成 Seaborn 初学者教程。 希望这篇文章能够提供有关 Seaborn 的基本知识,并且可以帮助您创建所有这些图。


原文:

Data Visualisation Using Seaborn

https://medium.com/@mukul.mschauhan/data-visualisation-using-seaborn-464b7c0e5122


Python数据分析17——seaborn小费数据集 消费数据集 我之前也有用过seaboard中的小费数据集,但是没有对它进行详尽一点的分析。接下来,我就用小费数据集进行一些数据分析。 准备工作 导入相关的库。 import pandas as pd import numpy as np from pandas import Series, DataFrame import seaborn as sns 创建小费数据集对象。 tips = s... 阅读详情

相关推荐

Seaborn

概述 Seaborn是matplotlib的强大的一个扩展。 Seaborn和matplotlib对比 数据准备 首先导入数据,数据事先准备好的是一些花的品种,其他列分别表示花萼的长度\宽度、花瓣的长度\宽度 花的品种一共三种: 需求 要求画出花萼和花瓣的长度的散点图,并且颜色要区分花的种类 实施 首先根据花的种类定义好每种类花的颜色: ...

lyzkks的博客 1227

python可视化之seaborn

数据可视化的文章我很久之前就打算写了,因为最近用Python做项目比较多,于是就花时间读了seaborn的文档,写下了这篇。 数据可视化在数据挖掘中是一个很重要的部分,将数据用图表形式展示可以很直观地看到数据集的特点(比如正态分布,长尾分布,聚集等),方便下一步怎么对数据进行处理。 这里我用的是Python来进行可视化,因为Python的框架相对较多而且使用的也较广泛。我们在这里用的是seab...

GhostLWB的博客 1万+

深入了解Python数据可视化库——Seaborn(一)

Seaborn是一个Python数据可视化库,旨在使绘制统计图表变得更加简单和优雅。它构建于Matplotlib之上,并对其进行了封装,提供了更加直观和便捷的API,适合快速生成美观的图表。Seaborn专注于数据集的探索性数据分析(EDA),尤其在处理复杂的数据集和统计关系时,Seaborn能够自动进行许多底层设置,从而使得用户无需过多关注底层的细节即可生成高质量的图表。Seaborn作为Python中强大的数据可视化库,为我们提供了便捷而美观的统计图表绘制方法。

小高~的博客 1850

【机器学习】可视化模块-seaborn详细教程

seaborn可视化图表详细教程

qq_61260911的博客 1万+

Python 学习之旅:持续学习和扩展(八)学习 seaborn 进行数据可视化

seaborn致力于让统计数据可视化更上一层楼。它自带了多种美观的默认主题和调色板,能让图表在视觉上更加吸引人。同时,seaborn与pandas的数据结构无缝衔接,处理起表格型数据非常方便。在探索数据分布、分析变量间关系等场景中,seaborn都能发挥巨大作用。比如在分析学生成绩数据时,我们可以用seaborn轻松绘制出成绩分布的直方图,或者展示各科成绩相关性的热力图,帮助我们快速了解数据特征。

happycell188的博客 717

使用Seaborn进行多面板直方图可视化

然后,我们使用FacetGrid函数创建一个具有两行两列面板的对象,并将其分别行和列按照性别和时间进行分组。最后,我们使用histplot函数绘制账单总额的直方图,并使用suptitle函数自定义设置了多面板直方图的标题。同时,我们也可以通过设置多个面板来实现多变量直方图的可视化。总的来说,这个示例代码展示了如何使用Seaborn库中的FacetGrid和histplot函数来创建多变量直方图,并自定义设置多面板直方图的标题。运行以上代码,我们将得到一个包含4个面板的多面板直方图。

m0_47037246的博客 506

用Seaborn轻松的进行数据可视化

数据集下载链接: import seaborn as sns import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np import pandas as pd %matplotlib inline def sinplot(flip=1): x = np.linspace(0,14,100) ...

sinat_37935727的博客 6127

Android Geckoview实战:5分钟搞定JS与原生交互(附完整Demo代码)

本文详细介绍了在Android应用中使用GeckoView替代系统WebView,构建稳定高效的JavaScript与原生代码交互桥梁的实战方法。通过WebExtension架构,文章提供了从环境配置、扩展开发到Android端集成的完整步骤,并附有可运行的Demo代码,帮助开发者快速解决混合应用中的兼容性问题。

u5v6w7的博客 935

用 Seaborn 轻松搞定数据可视化(J享)

安装这步很简单,两种方式选一个就行:用 pip 的话,直接在终端敲习惯用 conda 的话,就输(国内用户可以试试清华源,速度会快很多,地址是装好后导入也方便,一般这么写:sns.set_theme() # 这行能设置主题,让图更好看说到主题,里的参数还挺有意思。style能选主题风格,比如默认的darkgrid(深色网格)、清爽的whitegrid(浅色网格),甚至可以选不带网格的dark或white。context则控制图里元素的大小,做笔记用notebook。

LiJieNiub的博客 361

rfid标签技术原理

奇怪的是,RFID标签技术原理的深入剖析不仅揭示了其背后的奥秘,也让我们更加全面地认识到这一技术在数字化转型中的重要性和潜力。随着技术的不断进步和应用场景的不断拓展,RFID标签将在更多领域发挥重要作用,为物联网、智能制造等领域的发展注入新的活力。这意味着在一个读写器的覆盖范围内,可以同时读取多个RFID标签的数据,大大提高了数据收集的速度和效率。:RFID标签的“大脑”,负责存储和处理数据。芯片内部集成了存储器、控制逻辑和射频接口等电路,能够接收来自读写器的射频信号,执行相应的数据处理和通信任务。

x3088的博客 2159

Camera ITS测试

一、手机端设置: 将 CtsVerifier.apk 安装到设备上, 连接上linux主机。 二、主机端设置: 基础:CTS测试运行环境 然后,主机安装python2.7,及numpy/scipy/matplotlib/opencv 栈和 python 成像库。按照下面的命令依次安装: sudo apt­-get install python-­numpy sudo apt-­g...

wangubuntu的专栏 7785

利用Python轻松实现数据可视化掌握Matplotlib与Seaborn的高级技巧

通过设置`kind`参数切换图形种类,而`col`和`row`参数可以创建基于分类变量的分面图形,实现多维数据的并排比较。热力图与聚类结合:通过Seaborn的`clustermap()`函数创建层次聚类热图,不仅展示数据矩阵的值,还通过树状图揭示行和列之间的聚类关系,非常适合基因表达数据或相关性矩阵的可视化分析。导出高分辨率图像:使用`savefig()`函数导出图形时,通过设置`dpi`参数提高输出分辨率,并选择适当的文件格式(如PDF用于出版,PNG用于网页,SVG用于进一步编辑)。

wzbdata的博客 704

三维Copula建模进阶:从对称、嵌套到Pair-Copula(C-Vine/D-Vine)到底怎么选?

本文深入探讨三维Copula建模的进阶策略,包括对称Archimedean、嵌套结构和Vine Copula(C-Vine/D-Vine)的选择方法。通过对比数学特性、计算复杂度和实际应用案例,提供了一套针对金融风险分析等场景的决策框架,帮助分析师根据数据特征选择最优模型。

weixin_27038701的博客 436

轻松用 Seaborn 进行数据可视化_10

【代码】轻松用 Seaborn 进行数据可视化_10。

m0_60721823的博客 244

Spirent TestCenter 3.90吞吐测试全流程详解(附RFC 2544配置避坑指南)

本文详细解析了使用Spirent TestCenter 3.90进行网络吞吐测试的全流程,并提供了符合RFC 2544标准的配置指南与避坑要点。内容涵盖测试环境搭建、核心概念澄清、STC软件配置步骤、结果深度解读以及自动化脚本入门,旨在帮助网络测试工程师精准评估设备性能,规避常见配置陷阱。

weixin_42602368的博客 370

Python爬虫实战:利用Playwright与异步技术高效抓取链家十万级二手房数据

在开始编写代码之前,我们首先需要为项目选择合适的技术栈。1. 传统方案:Requests + BeautifulSoup优点: 简单、轻量、学习成本低。直接发送HTTP请求获取HTML,然后解析。缺点: 对于大量由JavaScript动态渲染的内容无能为力。现代网站(包括链家)大量使用JS来加载数据和实现交互,简单的HTTP请求无法获取到完整的页面内容。此外,容易被基于IP或请求头特征的反爬机制拦截。2. 进阶方案:Selenium优点。

2201_76125261的博客 891

用 Seaborn 画图的一天:原来数据可视化可以这么 “养眼“!

Seaborn 让数据可视化变简单了!作为 Matplotlib 的颜值升级版,Seaborn 默认样式就很美观,无需复杂调整。文章介绍了6种常用图表。Seaborn 与 Pandas 完美配合,通过数据框直接调用列名,配合 PyCharm 的自动补全功能,让画图变得简单高效。sns.set_theme() 更可一键切换图表风格,大大提升了数据可视化的效率和美观度。

JYB0918的博客 1070

YOLOv8与UNetV2融合:一种面向目标检测与图像分割的混合方法【附核心代码】

我们提出了一种基于YOLOv8和UNetV2相结合的混合架构。该架构利用YOLOv8作为主干进行目标检测,同时在YOLOv8的特征提取过程中,引入UNetV2来进行图像分割任务的增强。在该架构中,YOLOv8负责大范围目标检测和位置预测,而UNetV2则在检测网络的特征图基础上,通过其高效的上下文信息提取和细节恢复能力,进一步优化分割任务。在本文中,我们提出了一种改进YOLOv8的方法,通过引入图像分割网络UNetV2来提高图像分割检测性能。

一键难忘的博客 3525

第一篇:初识 Seaborn—— 让数据可视化告别 “丑代码”

如果你用过 Python 的 Matplotlib 画图表,可能会有这样的经历:明明只是想画个简单的散点图,却要写十几行代码调整坐标轴、字体、颜色,最后出来的图还可能歪歪扭扭。而今天要介绍的 Seaborn,就是来解决这个问题的 —— 它让数据可视化从 “繁琐调参” 变成 “轻松出图”。什么是 Seaborn?Seaborn 是基于 Matplotlib 开发的 Python 数据可视化库,简单来说,它是 Matplotlib 的 “升级版”。

Louisejrkf的博客 422

Windows 下 Codex 安装全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Codex 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Codex 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 方案一 2.2 方案二 3. 报错解决方案

weixin_43178406的博客 14万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【Seaborn分组箱线图绘制全攻略】:掌握数据可视化核心技巧,轻松搞定复杂分布分析

掌握Seaborn绘制分组箱线图(boxplot)技巧,快速分析多组数据分布差异。适用于分类数据对比、异常值识别等场景,支持多变量分组、颜色区分与自定义样式,直观呈现数据分布特征。方法简单高效,值得收藏。

CodeNexus的博客 1023

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Python 量化数据可视化

Python 量化数据可视化可以使用 Matplotlib 和 Seaborn 库。安装 Matplotlib 和 Seaborn 可以在终端或命令提示符中运行:Matplotlib 详细内容可以参考:本章节主要为大家介绍 Seaborn 库的使用。

2501_90133543的博客 2024

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

如何利用Seaborn绘制热力图?

如何利用Seaborn绘制热力图? 这是本学期在大数据哲学与社会科学实验室做的第八次分享了。 第一次分享的是: 如何利用“wordcloud+jieba”制作中文词云? 第二次分享的是: 如何爬取知乎中问题的回答以及评论的数据? 第三次分享的是: 如何利用百度AI平台或snownlp做中文文本的情感分析? 第四次分享的是: 如何利用情感词典做中文文本的情感分析? 第五次分享的是: 如何利用pyecharts绘制酷炫的桑基图? 如何在Jupyter Lab中显示pyecharts的图形?

老马的程序人生 6831

1行代码完成可视化:Seaborn3个常用方法示例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2mfqYd65-1651286715491)(http://images.overfit.cn/upload/20220430/2deb1799b2b9497b8794c97c63fbc84f.jpeg)] 数据可视化基本上是数据的图形表示。在探索性数据分析中,可以使用数据可视化来理解变量之间的关系,还可以通过视化数据揭示底层结构或了解数据信息。 有多种工具可以帮助我们创建数据可视化。Seaborn就是其中之一 ,它是一个流行的

deephub 3023
上一篇: 那些年,兵败高考的大佬们
下一篇: 用Python来解读神奇宝贝
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值