Python-Seaborn绘制图形

本文介绍了Seaborn,一个基于matplotlib的Python数据可视化库,重点讲解了如何加载数据和设置图像主题,如darkgrid、whitegrid等。详细阐述了displot、kdeplot、boxplot、jointplot、heatplot、pairplot和FacetGrid等函数的用法,并展示了如何自定义图形样式,包括颜色、kde、hist、shade、rug等参数。此外,还探讨了pairplot在多变量分析中的应用以及FacetGrid在构建复杂格点图中的作用。通过实例展示了Seaborn在绘制分布图、箱型图、联合分布图和热力图等方面的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
一、Seaborn特点
Seaborn是在matplotlib基础上进行更高级的API封装,常在绘制统计图形时使用。

二、加载数据构建Seaborn图像并设置主题格式
可以使用sns.load_dataset()函数来加载内置的Seaborn数据集,利用sns.set()来设置主题格式。
Seaborn有五个预设的主题:darkgrid,whitegrid,dark,white,ticks,默认darkgrid。
sns.set(style=‘darkgrid’,context=‘notebook’,palette=‘muted’)

#配置环境
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
from scipy.stats import *
#主题格式设置
sns.set(style='darkgrid',context='notebook',palette='muted')

#加载数据
tipsDf=sns.load_dataset('tips')
sns.boxplot(x='sex',y='total_bill',hue='smoker',data=tipsDf)

在这里插入图片描述

三、绘制各类Seaborn图像
displot()/kdeplot()/boxplot()/jointplot()/heatplot()/pairplot()/FacetGrid()等用法
常见参数:
kde:密度曲线
hist:直方图
shade:阴影
rug:边际毛毯
cumulative:累加
fit:拟合曲线
color:设置颜色
hue:色相(分类)
hist_kws, kde_kws, rug_kws, fit_kws参数接收字典类型,可以自行定义更多高级的样式

1.分布/密度:displot()及kdeplot()
distplot(分布)以及kdeplot(概率密度函数)

#通:sns.kdeplot(Df['连续变量'],shade=True,rug=True)
irisDf=sns.load_dataset('iris')
plt.subplot(1,2,1)
sns.distplot(irisDf['petal_length'],kde=True,rug=True) #kde密度曲线 rug边际毛毯
plt.subplot(1,2,2)
sns.kdeplot(irisDf['petal_length'],shade=True) #shade阴影
</
Seaborn是一个基于Matplotlib的数据可视化库,它提供了更高级别的API,使得在Python中创建复杂的统计图形变得非常容易。如果你想在Seaborn绘制进阶图形,这里有一些常见的示例: 1. **热力图(Heatmaps)**:可以用来展示数据集中的相关性或频率分布,比如`sns.heatmap()`函数。例如: ```python import seaborn as sns df.corr() # 先计算关联矩阵 sns.heatmap(df.corr(), annot=True) # 绘制热力图 ``` 2. **小提琴图(Violin Plots)**:用于显示数据的分布形状,结合箱线图展示了四分位数范围和异常值,`sns.violinplot()`函数可以创建这种图表。 ```python sns.violinplot(x="species", y="petal_length", data=iris) ``` 3. **核密度估计(Kernel Density Estimation,KDE)**:使用`kdeplot()`函数,可以对连续变量的分布进行可视化。 ```python sns.kdeplot(iris["sepal_width"], shade=True) ``` 4. **散点矩阵(PairGrid)**:通过`pairplot()`函数展示数据集中各个变量之间的关系,对于高维数据很有帮助。 ```python g = sns.PairGrid(iris) g.map_diag(sns.histplot) g.map_offdiag(sns.scatterplot) ``` 5. **因子旋转的分类轴(Facet Grids)**:使用`FacetGrid`来创建多列、多行的小图组合,如PCA后的结果展示。 ```python sns.FacetGrid(iris, col="species", hue="species").map(plt.scatter, "sepal_length", "sepal_width") ``` 记得在使用之前先安装必要的依赖,并根据你的实际数据调整绘图细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值