seaborn画直方图、条形图、盒图、散点图等常用图形

简介: seaborn画直方图、条形图、盒图、散点图等常用图形

简介

Seaborn 是以 matplotlib为底层,更容易定制化作图的Python库。


Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从 而使得作图更加容易。 在大多数情况下使用 Seaborn 就能做出很具有吸引力的图,而使用 matplotlib就能制作具有更多特色的图,换句话说, matplotlib 更加灵 活,可定制化,而 seaborn 像是更高级的封装,使用方便快捷。


distplot 直方图

#导入模块
import numpy as np
import seaborn as sns
#生成数据
x = np.random.normal(size=100)
#绘制直方图
#设置多少个分组 bins=
sns.displot(x,bins=20)
#kde 是否显示数据分布曲线 默认值是False
sns.displot(x,bins=20,kde=True)
#设置风格样式
sns.set(style='white')
sns.displot(x,bins=20,kde=True)

barplot条形图

#导入模块
import seaborn as sns
#加载数据
titanic = sns.load_dataset('titanic')
#绘制条形图  barplot
sns.barplot(x='sex',y='survived',data=titanic)
#按船舱分组
sns.barplot(x='sex',y='survived',data=titanic,hue='class')

boxplot 盒图

#导入模块
import seaborn as sns
#加载数据
tips = sns.load_dataset('tips')
#绘制盒图 boxplot
sns.boxplot(x='day',y='total_bill',data=tips)
#按时间time分组
sns.boxplot(x='day',y='total_bill',data=tips,hue='time')

小提琴图

小提琴图是箱图和密度图的一种结合图形。左右越宽代表当前数据 量越密集。

import seaborn as sns
#加载数据
tips = sns.load_dataset('tips')
#绘制小提琴图
sns.violinplot(x='day',y='total_bill',data=tips)
#按性别分组
sns.violinplot(x='day',y='total_bill',data=tips,hue='sex')
#男生女生合到一块
sns.violinplot(x='day',y='total_bill',data=tips,hue='sex',split=True)
#去掉中间线
sns.violinplot(x='day',y='total_bill',data=tips,hue='sex',split=True,inner=None)

stripplot(分布散点图)

#加载模块
import seaborn as sns
#导入数据
tips = sns.load_dataset('tips')
#绘制分布散点图  stripplot()
sns.stripplot(x='day',y='total_bill',data=tips)
#jitter 震动 默认是True
sns.stripplot(x='day',y='total_bill',data=tips,jitter=False)

swarmplot(分簇散点图)

#加载模块
import seaborn as sns
#导入数据
tips = sns.load_dataset('tips')
sns.swarmplot(x='day',y='total_bill',data=tips)
#按性别分组
sns.swarmplot(x='day',y='total_bill',data=tips,hue='sex')
#按时间分组
sns.swarmplot(x='day',y='total_bill',data=tips,hue='time')

scatterplot散点图

#加载模块
import seaborn as sns
#导入数据
tips = sns.load_dataset('tips')
sns.scatterplot(data=tips,x='total_bill',y='tip')
#size参数指定点的大小
sns.scatterplot(data=tips,x='total_bill',y='tip',size='size')
#hue 按是否吸烟进行分组
sns.scatterplot(data=tips,x='total_bill',y='tip',size='size',hue='smoker')
#保存图片
from matplotlib import pyplot as plt
sns.scatterplot(data=tips,x='total_bill',y='tip',size='size',hue='smoker',style='time')
plt.savefig('scatterplot.jpg')

kdeplot双轴密度图

#导入模块
import numpy as np
import pandas as pd
import seaborn as sns
#生成数据
# 生成 多元高斯正太分布 的数据
# 多元高斯正太分布是一堆正太分布向更多维度的推广,这种分布由其均值和协方差矩阵来确定
data = np.random.multivariate_normal([0,1], [(1,0.5),(0.5,1)], 1000) # 均值, [(1,0.5),(0.5,1)]协方差对称阵
df = pd.DataFrame(data,columns=['x','y'])
#绘制密度图
sns.kdeplot(x='x',y='y',data=df)
#color属性  修改颜色
sns.kdeplot(x='x',y='y',data=df,shade=True,color='red')

pointplot点图

#加载模块
import seaborn as sns
#加载数据
titanic = sns.load_dataset('titanic')
#绘制点图
sns.pointplot(data=titanic,x='sex',y='survived')
#hue 进行分组
sns.pointplot(data=titanic,x='sex',y='survived',hue='class')

heatmap热力图

热力图(heatmap)是以矩阵的形式表示,数据值在图形中以颜色 的深浅来表示数量的多少,并可以快速到到大值的与最小值所在位 置。在机器学习的分类中经常用来作混淆矩阵的比较。

#导入模块
import numpy as np
import seaborn as sns
#加载航班数据
flights = sns.load_dataset('flights')
#pivot 是DataFrame中的一个函数
data = flights.pivot('month','year','passengers')
#绘制热力图
sns.heatmap(data=data)
#参数 annot :True
sns.heatmap(data=data,annot=True)
#以整数的形式显示
sns.heatmap(data=data,annot=True,fmt='d')
#去掉右侧图例
sns.heatmap(data=data,annot=True,fmt='d',linewidths=0.5,cbar=False)
#修改色系
sns.heatmap(data=data,annot=True,fmt='d',linewidths=0.5,cbar=False,cmap='YlGnBu')

pairplot散布图矩阵

#加载模块
import seaborn as sns
import matplotlib.pyplot as plt
#加载鸢尾花数据
iris = sns.load_dataset('iris')
#pairplot绘制
sns.pairplot(data=iris)
#添加hue
sns.pairplot(data=iris,hue='species')

lineplot线型图

#导入模块
import seaborn as sns
#加载数据
iris = sns.load_dataset('iris')
sns.lineplot(x='sepal_length',y='sepal_width',data=iris)
#进行分组
sns.lineplot(x='sepal_length',y='sepal_width',data=iris,hue='species')
#按性别分组
sns.lineplot(x='total_bill',y='tip',data=tips,hue='sex')
# style = 'time'
sns.lineplot(x='total_bill',y='tip',data=tips,hue='sex',size='smoker',style='time')

回归分析图

线性回归图通过大量数据找到模型拟合线性回归线。

#导入模块
import seaborn as sns
iris = sns.load_dataset('iris')
#lmplot()
sns.lmplot(data=iris,x='petal_length',y='petal_width')
#regplot()
sns.regplot(data=iris,x='petal_length',y='petal_width')

目录
相关文章
|
10天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
40 8
|
10天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
30 7
|
10天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
33 4
|
10天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
26 5
|
13天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
57 8
|
1月前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
2月前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
76 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
2月前
|
数据可视化 数据挖掘 Python
Seaborn 库创建吸引人的统计图表
【10月更文挑战第11天】本文介绍了如何使用 Seaborn 库创建多种统计图表,包括散点图、箱线图、直方图、线性回归图、热力图等。通过具体示例和代码,展示了 Seaborn 在数据可视化中的强大功能和灵活性,帮助读者更好地理解和应用这一工具。
|
2月前
|
数据可视化 数据挖掘 API
Python中的数据可视化利器:Matplotlib与Seaborn对比解析
在Python数据科学领域,数据可视化是一个重要环节。它不仅帮助我们理解数据,更能够让我们洞察数据背后的故事。本文将深入探讨两种广泛使用的数据可视化库——Matplotlib与Seaborn,通过对比它们的特点、优劣势以及适用场景,为读者提供一个清晰的选择指南。无论是初学者还是有经验的开发者,都能从中找到有价值的信息,提升自己的数据可视化技能。
140 3
|
3月前
|
JavaScript 数据可视化 索引
用 Python 轻松绘制动态条形图
用 Python 轻松绘制动态条形图
39 1

热门文章

最新文章