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数据分析-绘图-2-Seaborn进阶绘图-2-关系图 -> 正文阅读

[人工智能]Python数据分析-绘图-2-Seaborn进阶绘图-2-关系图

一、散点图:scatterplot

函数:seaborn.scatterplot

常用参数:

x,yarray,str,series,输入变量。字符串应该是data中对应的变量名,使用series将会在轴上显示名称。
data接收DataFrame,表示用于绘图的数据集。
hue接收data中的变量名,传入分类变量,以颜色分类。
size接收data中的变量名,传入分类变量,以标记大小分类。
sizes接收list,dict,tuple,确定不同级别的size。可以一一映射,也可以设置最大最小的范围。
style接收data中的变量名,传入分类变量,以标记形状分类。
markersbool,list,dict,确定不同级别的style。
alphafloat,“auto”,点的透明度。默认为“auto”
legend“brief”,“full”,False。图形图例绘制形式,默认为“brief”
palette调色板,改变默认绘图颜色。

1.两个变量基础作图

import seaborn as sns
from matplotlib import pyplot as plt
tips=sns.load_dataset('tips')
#注意:这里在下载数据集时报错了,原因是请求被服务器拒绝了我们可以去官方数据集网站上https://github.com/mwaskom/seaborn-data把数据集下载到Seaborn-data文件夹中,再执行语句就可以了。

#使图形正常显示中文
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False
#观察数据
tips.head()
>

  total_bill tip	sex	 smoker	day	time	size
0	16.99	1.01	Female	No	Sun	Dinner	2
1	10.34	1.66	Male	No	Sun	Dinner	3
2	21.01	3.50	Male	No	Sun	Dinner	3
3	23.68	3.31	Male	No	Sun	Dinner	2
4	24.59	3.61	Female	No	Sun	Dinner	4

#画图
ax=sns.scatterplot(x='total_bill',y='tip',data=tips)
ax.set_title('总账单与小费散点图')

?2.通过添加第三个变量来分类变量

(1)对点着色和改变标记来显示分组变量

sns.scatterplot(x='total_bill',y='tip',hue='time',style='time',data=tips)

?(2)通过改变点的大小并添加连续颜色来显示定量类别变量

sns.scatterplot(x='total_bill',y='tip',size='size',hue='size',data=tips)

(3)使用自定义的分组点标记

markers={'Lunch':"o","Dinner":"X"}
sns.scatterplot(x="total_bill",y="tip",style="time",hue="time",markers=markers,data=tips,palette='Set2')

?

?(4)也可以向scatterplot函数中传入matplotlib参数控制绘图元素

sns.scatterplot(x="total_bill",y="tip",data=tips,color='red')
plt.title('总账单与小费散点图')

二、折线图:lineplot?

函数:seaborn.lineplot

常用参数:

x,y
data
dashesbool,list,dict,确定不同级别的style
estimate接收pandas方法或可调用函数,接收y在同一个x级别的聚合方法。
ciint,“sd”,None,表示使用estimate聚合的置信区间大小,“sd”表示数据标准差。
n_boot表示计算置信区间个数。
sortbool,表示按照x和y变量排序或出现顺序排序。
err_style

"band“,”bars“,表示是使用半透明误差带还是离散误差棒绘制置信区间,默认为”band“

err_band

dict,用于控制误差线条的参数。

用fmri数据集绘制用颜色和线条样式显示分类变量的折线图。

sns.lineplot(x="timepoint",y="signal",hue="event",style="event",data=fmri)

?使用点标记折线图的转折:

sns.lineplot(x="timepoint",y="signal",hue="event",style="event",markers=True,data=fmri)

修改误差带显示形式与置信区间大小

sns.lineplot(x="timepoint",y="signal",hue="event",style="event",err_style="bars",ci=80,data=fmri)

?

使用dots数据集绘制折线图,设置sizes参数,更改size传入变量的线条宽度。

dots=sns.load_dataset('dots')
dots.head()
>
   align choice time coherence	firing_rate
0	dots	T1	-80	 0.0	     33.189967
1	dots	T1	-80	 3.2	     31.691726
2	dots	T1	-80	 6.4	     34.279840
3	dots	T1	-80	 12.8	     32.631874
4	dots	T1	-80	 25.6	     35.060487

ax1=sns.lineplot(x="time",y="firing_rate",size="coherence",hue="choice",style="align",data=dots,palette="Set1")
ax1.set_title("默认线宽")

?

?自定义线宽:

ax2=sns.lineplot(x="time",y="firing_rate",size="coherence",sizes=(0.5,1.5),hue="choice",style="align",data=dots,palette="Set1")
ax2.set_title("自定义线宽")

?三、分面绘图:relplot

能够同时访问scatterplot和lineplot绘制多图网格的关系图。

函数:seaborn.relplot

常用参数:

x,y

data

row,col接收data中的变量名,传入分类变量,决定网格图的分面。
row_order,col_order接收list,传入分类变量类别名称列表并以此为顺序。
kind接收”scatter“”line“,选择绘图函数。默认为scatter
height接收scalar,表示网格图的高度,默认为5.
aspect网格图的宽度,默认为1.
facet_kws接收dict,表示传递给FacetGrid的其他参数,默认为”auto“

使用tips数据集,先绘制单构面散点图:

sns.set(style='ticks')
sns.relplot(x="total_bill",y="tip",hue="day",data=tips)

?传入分类变量smoker和time到row和col中,可以绘制网格图。

sns.set(style='ticks')
sns.relplot(x="total_bill",y="tip",hue="sex",row="time",col="smoker",data=tips)

参数col_wrap可以控制列数:

sns.set(style='ticks')
sns.relplot(x="total_bill",y="tip",hue="sex",col="smoker",col_wrap=1,data=tips)

?

?使用fmri数据集绘制网格折线图:

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

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:27:05  更:2021-12-04 13:27:41 
 
开发: 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年10日历 -2024/10/19 21:31:26-

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