本教材由知了传课辛苦制作而成,仅供学习使用,请勿用于商业用途!如进行转载请务必注明出处!谢谢!

seaborn关系绘图

一、relplot

这个函数功能非常强大,可以用来表示多个变量之间的关联关系。默认情况下是绘制散点图,也可以绘制线性图,具体绘制什么图形是通过kind参数来决定的。实际上以下两个函数就是relplot的特例:

  1. scatterplotrelplot(kind='scatter')
  2. lineplotrelplot(kind='line')

1. 基本使用:

import seaborn as sns tips = sns.load_dataset("tips",cache=True) sns.relplot(x="total_bill",y="tip",data=tips)

效果图如下:
relplot1.png

2. 添加hue参数:

hue参数是用来控制第三个变量的颜色显示的。比如我们在以上图的基础之上体现出星期几的参数,那么可以通过以下代码来实现:

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

效果图如下:
relplot2.png

3. 添加col和row参数:

colrow,可以将图根据某个属性的值的个数分割成多列或者多行。比如在以上图的基础之上我们想要把Lunch(午餐)Dinner(晚餐)分割成两个图来显示,那么可以通过以下代码来实现:

sns.relplot(x="total_bill",y="tip",hue="day",col="time",data=tips)

效果图如下:
relplot3.png

也可以再在row上添加一个新的变量,比如把性别按照行显示出来,代码如下:

sns.relplot(x="total_bill",y="tip",hue="day",col="time",row="sex",data=tips)

效果图如下:
relplot4.png

4. 指定具体的列:

有时候我们的图有很多,默认情况下会在一行中全部展示出来,那么我们可以通过col_wrap来指定具体多少列。示例代码如下:

sns.relplot(x="total_bill",y="tip",col="day",col_wrap=2,data=tips)

效果图如下:
relplot5.png

5. 绘制折线图:

relplot通过设置kind="line"可以绘制折线图。并且他的功能比plt.plot更加强大。plot只能指定具体的xy轴的数据(比如x轴是N个数,y轴也必须为N个数)。而relplot则可以在自动在两组数据中进行计算绘图。示例代码如下:

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

效果图如下:
relplot6.png

当然也可以添加其他的参数,用来控制整个图的样式和结构。示例代码如下:

# 设置hue为event,就会根据event来绘制不同的颜色 # 设置col为region,就会根据region值的个数来绘制指定个数的图 # 设置style为event,就会根据event来设置线条的样式 sns.relplot(x="timepoint",y="signal",kind="line",hue="event",col="region",style="event",data=fmri)

效果图如下:
relplot7.png

1688人已阅读,今天你学习了吗?

添加新回复
目录