Python----数据可视化(Seaborn二:绘图一)

常见方法

  • barplot方法 单独绘制条形图

  • catplot方法 可以条形图、散点图、盒图、小提亲图、等

  • countplot方法 统计数量

一、柱状图

seaborn.barplot(data=None,  x=None, y=None, hue=None, color=None, palette=None)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
color用于变量的不同级别的颜色。应该 可以是可以解释的 ,或者是 字典将色调级别映射到 matplotlib 颜色。
palette用于绘制填充颜色的原始饱和度的比例。大 面片通常使用不饱和的颜色看起来更好,但如果您希望颜色与输入值完美匹配,请将其设置为。1

1.1、常规柱状图

import seaborn as sns
import pandas as pd
# 示例数据
tips=pd.read_csv('tips.csv')
# 单变量柱状图
sns.barplot(x="day", y="total_bill", data=tips)
# 显示图表
plt.show()

1.2、横向条形图

import seaborn as sns
import pandas as pd
# 示例数据
tips=pd.read_csv('tips.csv')
# 单变量柱状图
sns.barplot(x="total_bill", y="day", data=tips)
# 显示图表
plt.show()

1.3、分组条图

import seaborn as sns
import pandas as pd
# 示例数据
tips=pd.read_csv('tips.csv')
import seaborn as sns
# 分组柱状图
sns.barplot(x="day", y="total_bill", hue="sex", data=tips)
# 显示图表
plt.show()

1.4、设置颜色

import seaborn as sns
# 示例数据
tips=pd.read_csv('tips.csv')
# 设置颜色
sns.barplot(x="day", y="total_bill", data=tips,color='salmon')
sns.barplot(x="day", y="total_bill", hue="sex", data=tips,palette='dark:salmon')
# 显示图表
plt.show()

1.5、 统计数量

seaborn.countplot(data=None, *, x=None, y=None, hue=None, color=None, palette=None)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
color用于变量的不同级别的颜色。应该 可以是可以解释的 ,或者是 字典将色调级别映射到 matplotlib 颜色。
palette用于绘制填充颜色的原始饱和度的比例。大 面片通常使用不饱和的颜色看起来更好,但如果您希望颜色与输入值完美匹配,请将其设置为。1
import seaborn as sns 
import matplotlib.pyplot as plt 
import pandas as pd tips = pd.read_csv('tips.csv')  # 通过按天数对数据进行分组并计数
# display(tips.groupby('day').count())  # 使用ountplot 方法绘制当天小费数量的条形图  
sns.countplot(x="day", data=tips)  # 显示绘制的图形  
plt.show()

二、直方图

方法

  • histplot方法 绘制单变量或双变量直方图来显示数据集的分布

  • displot方法 绘制直方图、核密度图。可以比较多个变量分布情况

seaborn.histplot(data=None,x=None, y=None, hue=None, bins='auto',multiple='layer', element='bars',  kde=False, palette=None,color=None)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
color用于变量的不同级别的颜色。应该 可以是可以解释的 ,或者是 字典将色调级别映射到 matplotlib 颜色。
palette用于绘制填充颜色的原始饱和度的比例。大 面片通常使用不饱和的颜色看起来更好,但如果您希望颜色与输入值完美匹配,请将其设置为。1
bins通用 bin 参数,可以是引用规则的名称, 分箱数或分箱的分隔线。
multiple

语义映射创建子集时解析多个元素的方法。 仅与单变量数据相关。

{“layer”, “减淡”, “stack”, “fill”}

elment

直方图统计量的可视化表示形式。 仅与单变量数据相关。

{“bars”, “step”, “poly”}

seaborn.displot(data=None, *, x=None, y=None, hue=None, row=None, col=None, weights=None, kind='hist', rug=False, rug_kws=None, log_scale=None, legend=True, palette=None, hue_order=None, hue_norm=None, color=None, col_wrap=None, row_order=None, col_order=None, height=5, aspect=1, facet_kws=None, **kwargs)
row定义子集以在不同 facet 上绘制的变量。
col定义子集以在不同 facet 上绘制的变量。

2.1、常规直方图

sns.histplot(tips['total_bill'])

 

sns.displot(tips['total_bill'])

2.2、核密度估计

        核密度估计的作用是用来估计概率密度函数的,它可以用来描述随机变量的密度分布

sns.histplot(tips['total_bill'],kde=True)
sns.displot(tips['total_bill'], kde=True)

 

2.3、多变量直方图

multiple='layer' # 默认值,以层叠的形式展示
multiple='dodge' # 以并列的形式展示
multiple='stack' # 以堆叠的形式展示
multiple='fill' # 以百分比堆叠的形式展示
sns.histplot(x='total_bill', hue='sex', data=tips)

 

sns.histplot(x='total_bill', hue='sex', data=tips, multiple='stack')

 

sns.histplot(x='total_bill', hue='sex', data=tips, multiple='dodge')

 

sns.histplot(x='total_bill', hue='sex', data=tips, multiple='fill')

 

2.4、修改一些参数

sns.histplot(x='total_bill', data=tips, bins=20, color='skyblue', edgecolor='black', linewidth=1.2)
sns.displot(x='total_bill', data=tips, bins=20, color='skyblue', edgecolor='black', linewidth=1.2)

 

2.5、 累积直方图

sns.histplot(x='total_bill', data=tips, element='step')
sns.displot(x='total_bill', data=tips, element='step',col='time')

 

三、折线图

方法

  • lineplot方法 单独绘制折线图

  • relplot方法 绘制折线图、散点图

seaborn.lineplot(data=None, x=None, y=None, hue=None)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
seaborn.relplot(data=None, *, x=None, y=None, hue=None, row=None, col=None kind='scatter')
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
row定义子集以在不同 facet 上绘制的变量。
col定义子集以在不同 facet 上绘制的变量。
kind要绘制的情节类型,对应于 seaborn 关系情节。 选项包括 或 。"scatter""line"
sns.lineplot(x=[1,2,3,4,5],y=[1,2,3,4,5])
sns.relplot(x=[1,2,3,4,5],y=[1,2,3,4,5],kind='line')

import seaborn as sns
# 示例数据
tips = pd.read_csv('tips.csv')  sns.lineplot(x="day", y="total_bill", data=tips)
sns.relplot(x="day", y="total_bill", data=tips, kind='line')# 多变量折线图
sns.lineplot(x="day", y="total_bill", data=tips,hue='time')
sns.relplot(x="day", y="total_bill", data=tips,hue='time',kind='line')# 使用relplot绘制折线图
sns.relplot(x="day", y="total_bill", data=tips,kind='line',# 图像类型hue='sex',# 分类变量col='time') # 分图变量

 

四、散点图

方法

  • scatterplot方法 主要用于绘制两个数值变量之间的散点图

  • relplot方法 可以绘制多种类型的关系图,包括散点图

seaborn.scatterplot(data=None, x=None, y=None, hue=None)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
seaborn.relplot(data=None, *, x=None, y=None, hue=None, row=None, col=None kind='scatter')
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
row定义子集以在不同 facet 上绘制的变量。
col定义子集以在不同 facet 上绘制的变量。
kind要绘制的情节类型,对应于 seaborn 关系情节。 选项包括 或 。"scatter""line"
import seaborn as sns# 加载数据
tips=pd.read_csv('tips.csv')
# 常规散点图
sns.scatterplot(data=tips,x='total_bill', y='tip')
sns.relplot( data=tips, x='total_bill', y='tip',kind='scatter')
# 多组散点图
sns.scatterplot(data=tips,x='total_bill', y='tip', hue='smoker')
sns.relplot(data=tips,x='total_bill', y='tip', hue='smoker')
# 多变量散点图
sns.relplot(data=tips,x='total_bill', y='tip', hue='smoker',col='time')

 

五、分散散点图

方法

  • stripplot方法 利用抖动功能绘制分类散点图,以减少过度绘图

  • swarmplot方法 绘制分类散点图,并将点调整为不重叠

  • catplot方法 可以绘制以上2种图,并且可以分图

seaborn.stripplot(data=None, *, x=None, y=None, hue=None,dodge=False)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
dodge当一个变量被赋值时,将其设置为 will 沿分类分隔不同色相级别的条带 轴并缩小分配给每个条带的空间量。否则 每个级别的点将绘制在同一条带中。
seaborn.swarmplot(data=None, *, x=None, y=None, hue=None,dodge=False)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
dodge当一个变量被赋值时,将其设置为 will 沿分类分隔不同色相级别的条带 轴并缩小分配给每个条带的空间量。否则 每个级别的点将绘制在同一条带中。
seaborn.catplot(data=None, *, x=None, y=None, hue=None, row=None, col=None, kind='strip')
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
row定义子集以在不同 facet 上绘制的变量。
col定义子集以在不同 facet 上绘制的变量。
kind要绘制的绘图类型对应于分类的名称 轴级绘图功能。选项有: “strip”, “swarm”, “box”, “violin”, “boxen”、“point”、“bar” 或 “count”。
import seaborn as sns
import pandas as pdtips=pd.read_csv('tips.csv')sns.catplot(y="total_bill", x="day", data=tips,hue='sex',dodge=True,marker="D",col='smoker')

sns.swarmplot(y="total_bill", x="day", data=tips,hue='sex',marker="v")

 

sns.catplot(y="total_bill", x="day", data=tips,hue='sex',marker="v",col='smoker',kind='swarm')

六、盒图

方法

  • boxplot方法

  • catplot方法

seaborn.boxplot(data=None, *, x=None, y=None, hue=None,fill=True,width=0.8, gap=0,notch=False)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
fill定义子集以在不同 facet 上绘制的变量。
gap箱体间隔
width箱体宽度
notch箱体是否缺口
seaborn.catplot(data=None, *, x=None, y=None, hue=None, row=None, col=None, kind='strip')
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
row定义子集以在不同 facet 上绘制的变量。
col定义子集以在不同 facet 上绘制的变量。
kind要绘制的绘图类型对应于分类的名称 轴级绘图功能。选项有: “strip”, “swarm”, “box”, “violin”, “boxen”、“point”、“bar” 或 “count”。
import seaborn as sns
import pandas as pdtips = pd.read_csv('tips.csv')sns.boxplot(x="day", y="total_bill", data=tips,hue="smoker",fill=False, # 填充箱体,默认为Truegap=0.1,  # 箱体间隔width=0.5, # 箱体宽度notch=True # 箱体是否缺口)

sns.catplot(x="day", y="total_bill", data=tips,kind="box",col="sex")

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C/C++中使用CopyFile、CopyFileEx原理、用法、区别及分别在哪些场景使用

文章目录 1. CopyFile原理函数原型返回值用法示例适用场景 2. CopyFileEx原理函数原型返回值用法示例适用场景 3. 核心区别4. 选择建议5. 常见问题6.区别 在Windows系统编程中,CopyFile和CopyFileEx是用于文件复制的两个API函数。它们的核心区别在于功能扩展性和控制…

SpringBoot 如何调用 WebService 接口

前言 调用WebService接口的方式有很多&#xff0c;今天记录一下&#xff0c;使用 Spring Web Services 调用 SOAP WebService接口 一.导入依赖 <!-- Spring Boot Web依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId…

tomcat单机多实例部署

一、部署方法 多实例可以运行多个不同的应用&#xff0c;也可以运行相同的应用&#xff0c;类似于虚拟主机&#xff0c;但是他可以做负载均衡。 方式一&#xff1a; 把tomcat的主目录挨个复制&#xff0c;然后把每台主机的端口给改掉就行了。 优点是最简单最直接&#xff0c;…

计算机视觉算法实战——老虎个体识别(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​ 1. 领域介绍 老虎个体识别是计算机视觉中的一个重要应用领域&#xff0c;旨在通过分析老虎的独特条纹图案&#xff0c;自动识别和区…

【数据结构】初识集合框架及背后的数据结构(简单了解)

目录 前言 如何学好数据结构 1. 什么是集合框架 2. 集合框架的重要性 3. 背后所涉及的数据结构以及算法 3.1 什么是数据结构 3.2 容器背后对应的数据结构 3.3 相关java知识 3.4 什么是算法 3.5 基本关系说明&#xff08;重要&#xff0c;简单了解&#xff09; 前言 …

Hadoop命令行语句

一、前言 1、启动虚拟机 2、连接工具 3、启动Hadoop并查询确保进程为51 start-all.shjps练习完请一定 stop-all.sh 关掉hadoop进程 关掉虚拟机 再关机电脑 二、Hadoop命令行主命令 1、进入Hadoop安装目录的bin路径 cd /training/hadoop-3.3.0/bin/2、查看低下的执行文…

TypeScript系列07-类型声明文件

在现代前端开发中&#xff0c;TypeScript已成为提升代码质量和开发体验的利器。对于React和React Native项目&#xff0c;合理利用类型声明文件不仅能提供更好的智能提示和类型检查&#xff0c;还能显著减少运行时错误。本文将深入探讨类型声明文件的编写与使用。 1. 声明文件…

迎接AI智能体新时代,推动新质生产力加快发展

随着人工智能技术的飞速发展&#xff0c;AI智能体正逐步成为推动新质生产力加快发展的重要力量。2025年&#xff0c;被业界普遍认为是AI智能体的爆发元年&#xff0c;这一技术范式的深刻变革&#xff0c;正重塑着人机关系&#xff0c;为各行各业带来前所未有的机遇与挑战。本文…

python: DDD using postgeSQL and SQL Server

postgreSQL 注意&#xff1a; # psycopg 2 驱动的连接字符串 #engine create_engine(postgresql://post:geovindulocalhost:5433/TechnologyGame) #Session sessionmaker(bindengine)# 使用 psycopg3 驱动的连接字符串 #engine create_engine(postgresqlpsycopg://user:g…

【redis】string类型相关操作:SET、GET、MSET、MGET、SETNX、SETEX、PSETEX

文章目录 二进制存储编码转换SET 和 GETSETGET MSET 和 MGETSETNX、SETEX 和 PSETEX Redis 所有的 key 都是字符串&#xff0c;value 的类型是存在差异的 二进制存储 Redis 中的字符串&#xff0c;直接就是按照二进制数据的方式存储的 不仅仅可以存储文本数据&#xff0c;还可…

嵌入式设备的功能安全和信息安全?

在现代社会中&#xff0c;嵌入式设备已经无处不在&#xff0c;从我们日常生活中的智能家居&#xff0c;到工业控制、医疗设备等各个行业&#xff0c;嵌入式设备的应用层出不穷。 那么&#xff0c;嵌入式设备的功能安全和信息安全究竟有什么不同&#xff0c;又如何保证它们在实…

爬虫案例七Python协程爬取视频

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Python协程爬取视频 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 爬虫案例七协程爬取视频 提示&#xff1a;以下是本篇文章正文…

【C++指南】一文总结C++类和对象【中】

&#x1f31f; 各位看官好&#xff0c;我是egoist2023&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习C类和对象的语法知识。注意&#xff1a;在本章节中&#xff0c;小编会以Date类举例 &#x1f44d; 如果觉得…

Python 入

Python 入侵交换机 随着网络安全威胁不断增加&#xff0c;对于网络设备的安全防护变得愈发重要。而交换机作为网络中重要的设备之一&#xff0c;也需要加强安全保护。本文将介绍如何利用Python来入侵交换机&#xff0c;并对其进行漏洞扫描和安全检测。 1. Python 入侵交换机原…

『PostgreSQL』PGSQL备份与还原实操指南

&#x1f4e3;读完这篇文章里你能收获到 了解逻辑备份与物理备份的区别及适用场景&#x1f50d;。掌握全库、指定库、指定表备份还原的命令及参数&#x1f4dd;。学会如何根据业务需求选择合适的备份策略&#x1f4ca;。熟悉常见备份还原问题的排查与解决方法&#x1f527;。 …

《Python实战进阶》No20: 网络爬虫开发:Scrapy框架详解

No20: 网络爬虫开发&#xff1a;Scrapy框架详解 摘要 本文深入解析Scrapy核心架构&#xff0c;通过中间件链式处理、布隆过滤器增量爬取、Splash动态渲染、分布式指纹策略四大核心技术&#xff0c;结合政府数据爬取与动态API逆向工程实战案例&#xff0c;构建企业级爬虫系统。…

Spring Boot整合WebSocket

目录 ?引言 1.WebSocket 基础知识 ?1.1 什么是 WebSocket&#xff1f; ?1.2 WebSocket 的应用场景 ?2.Spring Boot WebSocket 整合步骤 2.1 创建 Spring Boot 项目 2.2 添加 Maven 依赖 2.3 配置 WebSocket 2.4 创建 WebSocket 控制器 2.5 创建前端页面 引言 在…

《OkHttp:工作原理 拦截器链深度解析》

目录 一、OKHttp 的基本使用 1. 添加依赖 2. 发起 HTTP 请求 3. 拦截器&#xff08;Interceptor&#xff09; 4. 高级配置 二、OKHttp 核心原理 1. 责任链模式&#xff08;Interceptor Chain&#xff09; 2. 连接池&#xff08;ConnectionPool&#xff09; 3. 请求调度…

【前端】BOM DOM

两天更新完毕&#xff0c;建议关注收藏点赞 友情链接&#xff1a; HTML&CSS&LESS&Bootstrap&Emmet Axios & AJAX & Fetch BOM DOM 待整理 js2 Web API 是浏览器提供的一套操作浏览器功能和页面元素的 API ( BOM 和 DOM)。官方文档点击跳转 目录 BOMDOM…

产品需求分析-概览

产品需求分析-概览 产品需求分析(上)-理论流程 需求产生(来源) 公司内部(老板、其他部门同事)产品经理自己(策划、挖掘)外部(用户、客户、伙伴) 需求分类 功能类数据类运营类体验类设计类 需求决策 战略定位产品定位用户需求 需求分位&#xff1a;四象限定位法 重要又…