当前位置:网站首页>5-1 Seaborn 关系绘图
5-1 Seaborn 关系绘图
2022-08-09 00:29:00 【刚入门的小仙女】
Seaborn 关系绘图
Seaborn是基于 Matplotlib 的图形可视化库。该库提前定义好了一套自己的风格,也封装了一系列的方便的绘图函数,之前通过 matplotlib 需要很多代码才能完成的绘图,使用 seaborn 可能就是一行代码的事情。总结一句话:使用 seaborn 绘图比 matplotlib 更美观、简单。
0. Seaborn安装
- 通过 pip:pip install seaborn
- 通过 anaconda:conda install seaborn
1. 关系绘图
relplot 可以用来表示多个变量之间的关联关系。默认情况下是绘制散点图,也可以绘制线形图。具体绘制什么图形是通过 kind 参数来决定的。实际上一下两个函数就是 relplot 的特例:
(1) scatterplot:relplot(kind=‘scatter’)
(2) lineplot:relplot(kind=‘line’)
1.1 基本使用
relplot 在绘制的时候不能直接给 x 和 y 指定具体的值,而应该使用 data参数 DataFrame 中的具体的列的名字
import seaborn as sns
import pandas as pd
tips = pd.read_csv("dataset/tips.csv")
tips.head()
#绘制散点图 relplot默认绘制散点图
#x,y为data数据集的列名
sns.relplot(x="total_bill",y="tip",data=tips)

1.2 添加 hue 参数
hue 参数是用来控制第三个变量的颜色显示的。Hue 应该指定为某个列的名字,那么 Seaborn 会自动的将指定的列的值的个数取不同的颜色。
#在上例基础上 添加星期参数
sns.relplot(x="total_bill",y="tip",hue="day",data=tips)

1.3 添加 col 和 row 参数
col 和 row 可以将图根据某个属性的值的个数分割成多列或者多行。col表示分成几个图像,应该指定某个列的名字,那么 Seaborn 会自动的将 DataFrame 中这个列的数据,分成多个图。
#在上例基础上,将Lunch(午餐)和Dinner(晚餐)分成两个图来显示
#指定col划分为多列 指定row划分为多行
sns.relplot(x="total_bill",y="tip",hue="day",col="time",data=tips)

也可以再在 row 上添加一个新的变量,如下所示:
#在上例的基础上,把性别按照行显示出来
sns.relplot(x="total_bill",y="tip",hue="day",col="time",row="sex",data=tips)

1.4 指定具体的列
多个图的情况下默认会在一行中全部展现出来,可以通过 col_wrap 来指定具体多少列
sns.relplot(x="total_bill",y="tip",col="day",col_wrap=3,data=tips)

1.5 size 参数
#根据数据集的size列的值 指定size参数设置点的大小
sns.relplot(x="total_bill",y="tip",data=tips,size="size")

1.6 绘制折线图
relplot 通过设置 kind = “line” 可以绘制折线图,并且功能比 plt.plot 更加强大。plot 只能指定具体的 x 和 y 轴的数据(比如 x 轴是 N 个数,y 轴也必须是 N 个数),而 relplot 则可以自动在两组数据中进行计算绘图。
1.6.1 relplot
#ci=None关闭显示置信区间
#style在绘制折线的时候可以用来指定线条的样式
sns.relplot(x="timepoint",y="signal",data=fmri,kind="line",hue="region",col="event",style="region")

1.6.2 lineplot
大致参数与 relplot 一致
#lineplot不支持col参数绘制多个
sns.lineplot(x="timepoint",y="signal",data=fmri,hue="region",style="region")

边栏推荐
- sql一些小建议
- 求按位或的最小生成树
- Phoenix的安装配置以及数据处理(详细步骤)
- "Replay" interview BAMT came back to sort out 398 high-frequency interview questions to help you get a high salary offer
- Non-major graduates, five-faced Ali: Four rounds of technical + HR have already taken an offer
- NodeJs连接mysql数据库
- win10出现次磁盘占用率百分之百的情况
- wordpress入门基本操作,网站安全防护及常用插件(建站必看教程)
- Transformer前言:self-attention与Multi-Headed Attention的详细理解
- 千分位数字
猜你喜欢

非科班毕业生,五面阿里:四轮技术面 +HR 一面已拿 offer

整流十—双二阶广义积分锁相

半兰伯特光照模型

Transformer前言:self-attention与Multi-Headed Attention的详细理解

"Replay" interview BAMT came back to sort out 398 high-frequency interview questions to help you get a high salary offer

Sencha Touch页面跳转创建返回上一级按钮的设计思路

“圆梦杯”大学生智能硬件设计大赛 初赛样题——理论题作答

阿里云服务器买完不知道如何使用(新手入门教程)

GaN图腾柱无桥 Boost PFC(单相)二 (公式推到理解篇)

笔记&代码 | 统计学——基于R(第四版) 第二章数据可视化
随机推荐
笔记&代码 | 统计学——基于R(第四版) 第十一章 时间序列预测
轻量级学习网络--ShuffleNet v1:Group conv的改进与channel shuffle的提出
桌面内容整理,用时高效
笔记| 矩阵分析中需要复习的线性代数知识
Mysql 根据一个表数据更新另外一个表
树上启发式合并
透明度测试-AlphaTest
pytorch计算模型的参数量和计算速度
Unity3D小白学习日记(03):Unity3D 常用技巧整理(大量干货!)
在Ubuntu/Linux环境下使用MySQL:解决com.mysql.jdbc.PacketTooBigException: Packet for query is too large的问题
整流十五—网侧低频电流谐波抑制方法及其稳定性分析
pycharm更改默认项目地址的方法
GaN图腾柱无桥 Boost PFC(单相)三(预测模型)
bitset和bool哪个更快
求按位或的最小生成树
整流十三—死区效应分析及其补偿策略
京东三面惨遭被虐,关于 redis,高并发,分布式,问懵了
如何选择云服务器与轻量应用服务器?谈谈自己的看法
Pytorch预训练模型和修改——记录
全新Swagger3.0教程,OAS3快速配置指南,实现API接口文档自动化!