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

news/2025/3/11 14:21:27/

常见方法

  • barplot方法 单独绘制条形图

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

  • countplot方法 统计数量

一、柱状图

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

1.1、常规柱状图

python">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、横向条形图

python">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、分组条图

python">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、设置颜色

python">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、 统计数量

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

python">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”}

python">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、常规直方图

python">sns.histplot(tips['total_bill'])

 

python">sns.displot(tips['total_bill'])

2.2、核密度估计

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

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

 

2.3、多变量直方图

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

 

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

 

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

 

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

 

2.4、修改一些参数

python">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、 累积直方图

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

 

三、折线图

方法

  • lineplot方法 单独绘制折线图

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

python">seaborn.lineplot(data=None, x=None, y=None, hue=None)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
python">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"
python">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')

python">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方法 可以绘制多种类型的关系图,包括散点图

python">seaborn.scatterplot(data=None, x=None, y=None, hue=None)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
python">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"
python">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种图,并且可以分图

python">seaborn.stripplot(data=None, *, x=None, y=None, hue=None,dodge=False)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
dodge当一个变量被赋值时,将其设置为 will 沿分类分隔不同色相级别的条带 轴并缩小分配给每个条带的空间量。否则 每个级别的点将绘制在同一条带中。
python">seaborn.swarmplot(data=None, *, x=None, y=None, hue=None,dodge=False)
函数描述
data用于绘图的数据集。
x用于绘制长格式数据的输入。
y用于绘制长格式数据的输入。
hue用于绘制长格式数据的输入。对原有的属性进行更加细致的分组
dodge当一个变量被赋值时,将其设置为 will 沿分类分隔不同色相级别的条带 轴并缩小分配给每个条带的空间量。否则 每个级别的点将绘制在同一条带中。
python">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”。
python">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')

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

 

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

六、盒图

方法

  • boxplot方法

  • catplot方法

python">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箱体是否缺口
python">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”。
python">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 # 箱体是否缺口)

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

 


http://www.ppmy.cn/news/1578370.html

相关文章

16 HarmonyOS NEXT UVList组件开发指南(三)

温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! HarmonyOS NEXT UVList组件开发指南(三) 第三篇:UVList组件使用方法与实际应用 1. 基础使用方法 1.1 引入组件 使用UVList组件前&a…

系统架构设计师—系统架构设计篇—基于体系结构的软件开发方法

文章目录 概述基于体系结构的开发模型-ABSDM体系结构需求体系结构设计体系结构文档化体系结构复审体系结构实现体系结构演化 概述 基于体系结构(架构)的软件设计(Architecture-Based Software Design,ABSD)方法。 AB…

Stable Diffusion模型高清算法模型类详解

Stable Diffusion模型高清算法模型类详细对比表 模型名称核心原理适用场景参数建议显存消耗细节增强度优缺点4x-UltraSharp残差密集块(RDB)结构优化纹理生成真实人像/建筑摄影重绘幅度0.3-0.4,分块尺寸768px★★★★★☆皮肤纹理细腻,但高对比场景易出现…

mac安装nvm=>node=>nrm

下载并安装 NVM 运行以下命令下载并安装 NVM: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash 配置环境变量 vim ~/.zshrc 按 i 将如下代码复制进去,controlc ,再按 :wq完成编辑 export NVM_DIR…

Django 初始化导入数据详解

Django 初始化导入数据详解 在 Django 项目中,初始化数据导入是一个常见的需求,特别是在开发阶段或者部署新环境时,通常需要一些预置的数据来确保应用能够正常运行。Django 提供了一种高效的方法来加载初始化数据,即通过 fixture…

第二节:网络设备与拓扑结构详解:从集线器到路由器

网络设备与拓扑结构详解:从集线器到路由器 在网络世界中,网络设备和拓扑结构是构建网络的基础。无论是小型家庭网络还是大型企业网络,都需要依赖各种网络设备和合理的拓扑结构来实现高效、稳定的通信。本文将从集线器、交换机、路由器等常见网络设备的工作原理入手,详细介…

元组(C# 7)——详解

C#中的元组(Tuple)是一种轻量级数据结构,用于将多个不同类型的元素组合成一个整体,特别适用于临时数据分组或需要返回多个值的方法。 注:C# 7的元组功能(如匿名元组、命名元组和解构)底层由 Sys…

什么是一致性模型,在实践中如何选择?

一、一致性模型 1、强一致性(Strong Consistency) ①定义:强一致性意味着在分布式系统中的每个读取操作,都能读取到最近写入的数据。也就是说,所有节点都始终保持相同的数据状态。 ②特点:写操作对所有节点立即可见,所有的读取操作在任何节点上都能看到最新的写入。 …