IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 功能强大的python包(三):Seaborn -> 正文阅读

[Python知识库]功能强大的python包(三):Seaborn

1. Seaborn简介

在这里插入图片描述

Seaborn是一个基于matplotlib且数据结构与Pandas统一的统计图制作库。

Seaborn库旨在以数据可视化为中心来挖掘并理解数据。

Seaborn提供的面向数据集制图函数主要是对行列索引和数组的操作,包含对整个数据集进行内部的语义映射与统计整合。

可以毫不夸张的说,你想象力能及的图表,Seaborn都能绘制!

2. 样例数据

本文所有的可视乎图表都是基于Seaborn自带的餐厅顾客消费数据集tips而绘制的。
tips数据集前两条数据如下:

Nototal_billtipsexsmokerdaytimesize
016.991.01FemaleNoSunDinner2
110.341.66MaleNoSunDinner2

(total_bill:消费总金额,tip:小费金额,sex:性别,smoker:是否吸烟,day:消费日期,time:消费时段,size:聚餐人数)

3. Seaborn总览

在这里插入图片描述

  • 关系图

关系图一般是用来表达双变量关系的图表。

函数作用
relplot(kind=‘line’)/lineplot( )绘制线形图,参数:data,x,y,hue
relplot(kind=‘scatter’)/scatterplot( )绘制散点图,参数:data,x,y,hue
参数含义
datapandas.DataFrame对象
x绘图的x轴变量
y绘图的y轴变量
hue区分维度,一般为分类型变量
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style='darkgrid')

tips = sns.load_dataset('tips')
sns.relplot(x='total_bill',y='tip',data=tips)
sns.relplot(x="total_bill", y="tip", hue="smoker", data=tips);

fmri = sns.load_dataset("fmri")
sns.relplot(x="timepoint", y="signal", kind="line", data=fmri);

在这里插入图片描述
在这里插入图片描述

  • 分类图

对可分类的数据进行可视化;可以通过散点图、分布图、估计图等形式呈现分类图。

函数作用
catplot(kind=‘strop’)/stripplot( )分类散点图
catplot(kind=‘swarm’)/swarmplot( )分类散点图
catplot(kind=‘box’)/boxplot( )分类分布图
catplot(kind=‘violin’)/violinplot( )分类分布图
catplot(kind=‘boxen’)/boxenplot( )分类分布图
catplot(kind=‘point’)/pointplot( )分类估计图
catplot(kind=‘bar’)/barplot( )分类估计图
catplot(kind=‘count’)/countplot( )分类估计图
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style='ticks',color_codes=True)

tips = sns.load_dataset('tips')
sns.catplot(x='day',y='total_bill',data=tips)
sns.catplot(x='day',y='total_bill',kind='swarm',data=tips)
sns.catplot(x='day',y='total_bill',kind='box',data=tips)

diamonds = sns.load_dataset('diamonds')
sns.catplot(x='color',y='price',kind='boxen',data=diamonds.sort_values('color'))
sns.catplot(x="total_bill", y="day", hue="time",kind="violin", data=tips)

titanic = sns.load_dataset("titanic")
sns.catplot(x="sex", y="survived", hue="class", kind="point", data=titanic)
sns.catplot(x="sex", y="survived", hue="class", kind="bar", data=titanic)
sns.catplot(x="deck", kind="count", palette="ch:.25", data=titanic)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 回归图

对数据进行回归,并绘制回归出函数。

函数作用
lmplot( )绘制回归图
regplot( )绘制回归图
residplot( )绘制回归图
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

sns.set(color_codes=True)
tips = sns.load_dataset("tips")
sns.lmplot(x="total_bill", y="tip", data=tips)
sns.residplot(x="x", y="y", data=anscombe.query("dataset == 'II'"),scatter_kws={"s": 80})

f, ax = plt.subplots(figsize=(5, 6))
sns.regplot(x="total_bill", y="tip", data=tips, ax=ax)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 分布图
    用于检查单变量或双变量分布的图表。
函数作用
distplot( )单变量分布
kdeplot( )核密度估计
pairplot( )成对二元分布
joinplot( )/joinplot(kind=‘hex’)/joinplot(kind=‘reg’)二元分布
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats

sns.set(color_codes=True)
x = np.random.normal(size=100)
sns.distplot(x)
sns.kdeplot(x, shade=True)

mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 200)
df = pd.DataFrame(data, columns=["x", "y"])
sns.jointplot(x="x", y="y", data=df)

iris = sns.load_dataset("iris")
sns.pairplot(iris)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 矩阵图
    以矩阵的形式呈现可视化的数据集。
函数作用
heatmap( )热力图
clustermap( )聚类矩阵图
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

sns.set_theme()

# Load the example flights dataset and convert to long-form
flights_long = sns.load_dataset("flights")
flights = flights_long.pivot("month", "year", "passengers")

# Draw a heatmap with the numeric values in each cell
f, ax = plt.subplots(figsize=(9, 6))
sns.heatmap(flights, annot=True, fmt="d", linewidths=.5, ax=ax)


sns.set_theme()

# Load the brain networks example dataset
df = sns.load_dataset("brain_networks", header=[0, 1, 2], index_col=0)

# Select a subset of the networks
used_networks = [1, 5, 6, 7, 8, 12, 13, 17]
used_columns = (df.columns.get_level_values("network")
                          .astype(int)
                          .isin(used_networks))
df = df.loc[:, used_columns]

# Create a categorical palette to identify the networks
network_pal = sns.husl_palette(8, s=.45)
network_lut = dict(zip(map(str, used_networks), network_pal))

# Convert the palette to vectors that will be drawn on the side of the matrix
networks = df.columns.get_level_values("network")
network_colors = pd.Series(networks, index=df.columns).map(network_lut)

# Draw the full plot
g = sns.clustermap(df.corr(), center=0, cmap="vlag",
                   row_colors=network_colors, col_colors=network_colors,
                   dendrogram_ratio=(.1, .2),
                   cbar_pos=(.02, .32, .03, .2),
                   linewidths=.75, figsize=(12, 13))

g.ax_row_dendrogram.remove()

在这里插入图片描述
在这里插入图片描述

  • 结构化多绘图

以子图的形式绘制成对变量之间的关系。

函数作用
FacetGrid结构化多绘图
PairGrid结构化多绘图

Ending

链接:Seaborn
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:25:22  更:2021-07-13 17:26:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 14:49:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计