Seaborn可视化图形绘制_Python数据分析与可视化

news2024/12/28 20:29:16

Seaborn可视化图形绘制

  • 频次直方图、KDE和密度图
  • 矩阵图
  • 分面频次直方图
  • 条形图
  • 折线图

Seaborn的主要思想是用高级命令为统计数据探索和统计模型拟合创建各种图形,下面将介绍一些Seaborn中的数据集和图形类型。

虽然所有这些图形都可以用Matplotlib命令实现(其实Matplotlib就是Seaborn的底层),但是用 SeabornAPI会更方便。

频次直方图、KDE和密度图

在进行统计数据可视化时,我们通常想要的就是频次直方图和多变量的联合分布图。在Matplotlib里面我们已经见过,相对比较简单:

data = np.random.multivariate_normal([0, 0], [[5, 2], [2, 2]], size=2000)
data = pd.DataFrame(data, columns=['x', 'y'])
for col in 'xy':
    plt.hist(data[col], normed=True, alpha=0.5)

在这里插入图片描述

除了频次直方图,我们还可以用KDE获取变量分布的平滑估计。在seaborn通过sns.kdeplot来实现:

for col in 'xy':
    sns.kdeplot(data[col], shade=True)

在这里插入图片描述

使用distplot可以将频次直方图和KDE结合起来:

sns.distplot(data['x'])
sns.distplot(data['y'])

在这里插入图片描述

如果向kdeplot输入的是二维数据集,那么就可以获得一个二维数据可视化图:sns.kdeplot(data)
在这里插入图片描述

矩阵图

当我们需要对多维数据进行可视化是,最终都要使用矩阵图,矩阵图对于探索多维数据不同维度间的相关性非常有效。

下面将用鸢尾花数据集来演示,其中有三种鸢尾花的花瓣与花萼数据:

data = pd.read_csv("iris.csv")
sns.pairplot(data,hue="species")   #hue 选择分类列

在这里插入图片描述

分面频次直方图

有时观察数据最好的方法就是借助数据子集的频次直方图,SeabornFacetGrid函数让这件事变得非常简单。

来看看某个餐厅统计的服务员收取小费的数据:

tips = pd.read_csv('tips.csv')
g = sns.FacetGrid(tips, col="time",  row="smoker")
g = g.map(plt.hist, "total_bill",  color="r")

在这里插入图片描述

条形图

对于时间序列数据可以使用sns.factorplot画出条形图,下面将使用行星数据来演示:

planets = pd.read_csv('planets.csv')
with sns.axes_style('white'):
    g = sns.factorplot("year", data=planets, aspect=2,
    kind="count", color='steelblue')
g.set_xticklabels(step=5)

在这里插入图片描述

还可以对用不同方法发现行星的数量:

with sns.axes_style('white'):
    g = sns.factorplot("year", data=planets, aspect=4.0, kind='count',
hue='method', order=range(2001, 2015))
g.set_ylabels('Number of Planets Discovered')

在这里插入图片描述

折线图

seaborn绘制折线图使用lineplot函数,该函数所传数据必须为一个pandas数组,这一点跟matplotlib里有较大的区别,并且一开始使用较为复杂。

首先sns.lineplot里有几个参数值得注意:

  • x:plot图的xlabel

  • y:plot图的ylabel

  • ci:与估计器聚合时绘制的置信区间的大小;

  • data: 所传入的pandas数组。

x = np.linspace(100, 50, 6)
y = np.array([0.194173876, 0.161086478, 0.138896531, 0.129826697, 0.133716787, 0.152458326])
summary = []
for i in range(6):
    x_t = x[i]
    y_t = y[i]
    summary.append([x_t, y_t])
data =pd.DataFrame(summary )
sns.lineplot(x=0,y=1,ci=None,data=data)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1276962.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL的系统信息函数

系统信息函数让你更好的使用MySQL数据库 1、version()函数 查看MySQL系统版本信息号 select version();2、connection_id()函数 查看当前登入用户的连接次数 直接调用CONNECTION_ID()函数--不需任何参数--就可以看到当下连接MySQL服务器的连接次数,不同时间段该…

深度学习第4天:感知机模型

☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 ​ 文章目录 感知机模型介绍 神经网络搭建感知机 结构 准备训练数据 感知机的损失函数与优化方法 测试结果 完整代码 多层感知机 结语 感知机模…

【C语言】【字符串函数的模拟实现】strcpy,strcat,strcmp,strncpy,strncat,strstr

1.strcpy char* strcpy(char*destination,const char* source)源字符串必须以’\0’结尾会将原字符串中的‘\0’拷贝到目标字符串中目标空间必须足够大,能放得下源字符串 模拟实现: char *my_strcpy(char* des,const char *sour) {char* retdes;asser…

MinkowskiEngine安装

本人配置: cuda10.1, gcc7.5.0, g7.5.0 gcc --version # 查看gcc版本代码 g --version #查看g版本代码安装步骤: pip install ninja # 安装依赖git clone https://github.com/NVIDIA/MinkowskiEngine.git # 下载到本地 cd MinkowskiEngine # 进入…

大三上oracle数据库期末复习

1、创建表空间 2、创建用户 3、用户授权 oracle数据库逻辑存储结构: 1、表空间(最大的逻辑存储单元) 创建表空间 2、段 3、盘区(最小的磁盘空间分配单元) 4、数据块(最小的数据读写单元) 用…

Java核心知识点整理大全26-笔记

目录 27. Storm 7.1.1. 概念 27.1.1. 集群架构 27.1.1.1. Nimbus(master-代码分发给 Supervisor) 27.1.1.2. Supervisor(slave-管理 Worker 进程的启动和终止) 27.1.1.3. Worker(具体处理组件逻辑的进程&#xff…

周报:浅谈对豆瓣网页实战的注意事项

制作整体网页时HTML代码和CSS代码的常用处理方法: 分开HTML代码和CSS代码,专门制作一个CSS文件专门来放置css代码,css文件里一般有作者样式(XXX.css)和通用样式(common.css)。这样会使代码更易维护,且整齐美观。 写代码前的注意…

HT81298 集成免滤波器调制D类音频功放

HT81298是一款内置升压的立体声D类音频功率放大器,HT81298内部集成免滤波器调制技术, 能够直接驱动扬声器,内置的关断功能使待机 电流Z小化,还集成了输出端过流保护、片内 过温保护、输入电源欠压异常保护、升压电压 过压保护等功…

TextToSpeech类学习和简单封装

TextToSpeech类简单学习封装 前言一、TTS是什么?二、TextToSpeech简单使用1.官方介绍2.简单使用 三、TextToSpeech简单封装总结 前言 业务涉及到对接TTS相关,所以简单学习下如何使用。 一、TTS是什么? TextToSpeech简称为TTS,即…

在 SQL Server 中备份和恢复数据库的最佳方法

在SQL Server中,创建备份和执行还原操作对于确保数据完整性、灾难恢复和数据库维护至关重要。以下是备份和恢复过程的概述: 方法 1. 使用 SQL Server Management Studio (SSMS) 备份和还原数据库 按照 SSMS 步骤备份 SQL 数据库 打开 SSMS 并连接到您…

【数据结构和算法】找出叠涂元素

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 三、代码 四、复杂度分析 前言 这是力扣的2661题,难度为中等,解题方案有很多种&…

LeNet对MNIST 数据集中的图像进行分类--keras实现

我们将训练一个卷积神经网络来对 MNIST 数据库中的图像进行分类,可以与前面所提到的CNN实现对比CNN对 MNIST 数据库中的图像进行分类-CSDN博客 加载 MNIST 数据库 MNIST 是机器学习领域最著名的数据集之一。 它有 70,000 张手写数字图像 - 下载非常简单 - 图像尺…

规则引擎专题---2、开源规则引擎对比

开源规则引擎 开源的规则引擎整体分为下面几类: 通过界面配置的成熟规则引擎,这种规则引擎相对来说就比较重,但功能全,比较出名的有:drools, urule。 基于jvm脚本语言,互联网公司会觉得drools太重了,然后…

用100ask 6ull配合 飞凌 elf1的教程进行学习的记录

启动方式 百问网 elf1: 固件 emmc-otg 串口 网络 改eth0, 网线接在右边的网口eth2上

spring boot mybatis TypeHandler 看源码如何初始化及调用

目录 概述使用TypeHandler使用方式在 select | update | insert 中加入 配置文件中指定 源码分析配置文件指定Mapper 执行query如何转换 结束 概述 阅读此文 可以达到 spring boot mybatis TypeHandler 源码如何初始化及如何调用的。 spring boot 版本为 2.7.17,my…

触控板绘画工具Inklet mac功能介绍

Inklet mac是一款触控板绘画工具,把你的触控板变成画画的板子,意思是,你点在触控板的哪里,鼠标就会出现载相应的地方。例如,但你把手指移动到触控盘左下角,那么鼠标也会出现在左下角,对于用户而…

【已解决】Cannot find project Scala library 2.11.8 for module XXX

问题描述 在 flink 示例程序调试过程中,reload project 报错 Cannot find project Scala library 2.11.8 for module HbasePrint 报错如下图所示: 问题解决 经过搜索,初步判定是 pom 文件中 Scala 版本配置和项目中实际使用的版本不一致导…

11.29 知识回顾(视图层、模板层)

一、视图层 1.1 响应对象 响应---》本质都是 HttpResponse -HttpResponse---》字符串 -render----》放个模板---》模板渲染是在后端完成 -js代码是在客户端浏览器里执行的 -模板语法是在后端执行的 -redirect----》重定向 -字符串参数不是…

RabbitMq整合Springboot超全实战案例+图文演示+源码自取

目录 介绍 简单整合 简单模式 定义 代码示例 work模式 定义 代码示例 pubsub模式 定义 代码示例 routing模式 定义 代码示例 top模式 定义 代码 下单付款加积分示例 介绍 代码 可靠性投递示例 介绍 代码 交换机投递确认回调 队列投递确认回调 ​延迟消…

前缀和 LeetCode1094 拼车

1094. 拼车 车上最初有 capacity 个空座位。车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向) 给定整数 capacity 和一个数组 trips , trip[i] [numPassengersi, fromi, toi] 表示第 i 次旅行有 numPassengersi 乘客,接…