Python 数据可视化:关系统计图和回归统计图

本课将要介绍的关系图和回归图,与上一课中的分类特征统计图的不同之处在于,这两类图的目的是发现 X 和 Y 轴两个变量之间的可能关系。

2.3.1 关系统计图

如果要研究两个变量之间的可能函数关系,依据以往的经验,可以通过散点图进行探索——注意,这里所说的散点图,与上一课提到的“分类特征的散点图”是不同的。

还是看示例,来理解此处的散点图。

%matplotlib inline
import seaborn as sns
sns.set(style='ticks')
tips = sns.load_dataset("tips")
tips.head()

avatar

继续使用 tips 数据集。从结果中可以看到,特征 total_bill 和 tip 中的数值,都是浮点数(连续值),下面就分别以它们为坐标系的两个坐标轴,绘制散点图,试图找到这两个特征之间的关系——这就是“关系统计图”的目的。

sns.relplot(x='total_bill', y='tip', data=tips)

输出结果:

enter image description here

使用 sns.relplot 函数,所得到的图示与以往绘制散点图的效果差不多,如果看看这个函数完整参数列表,就能发现惊奇。

seaborn.relplot(x=None, y=None, hue=None, size=None, style=None, data=None, row=None, col=None, col_wrap=None, row_order=None, col_order=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, markers=None, dashes=None, style_order=None, legend='brief', kind='scatter', height=5, aspect=1, facet_kws=None, **kwargs)

上一课学习了 sns.catplot 函数,此处 sns.relpot 的参数与之类似,只有很小的差异。

在 sns.relplot 的参数中,除了 x, y 两个参数之外,同样也有 hue,它与以往的含义一样。

sns.relplot(x='total_bill', y='tip', hue='sex', data=tips)

输出结果:

enter image description here

以 hue='sex',在散点图中把 sex 特征所对应的数据区别开了。

此外,还有一个很熟悉的参数 kind,默认值是 'scatter',就意味着默认是绘制散点图。除了这个值之外,还可以是别的值——类似 sns.catplot 中的 kind。

  • kind='scatter',默认值,等同函数 sns.scatterplot()。
  • kind='line',等同函数 lineplot()。

对应着参数 kind 不同的值,分别也有相应专有函数的情况。仍然与 sns.catplot 类似,相对于各个专用函数,sns.relplot 的优势还是在于绘制分区坐标图。

g = sns.relplot(x="total_bill", y="tip", hue="time", 
                size="size", palette=["b", "r"], sizes=(10, 100), col="time", data=tips)

输出结果:

enter image description here

除了显示分区坐标系之外,还顺便对其他几个参数做了设置,请根据效果理解上述代码中的参数。

下面,还是按照原来的套路,通过对专有函数的介绍来进一步理解“关系统计图”的绘制。

1. sns.scatterplot

此函数的完整形式如下:

seaborn.scatterplot(x=None, y=None, hue=None, style=None, size=None, data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, markers=True, style_order=None, x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000, alpha='auto', x_jitter=None, y_jitter=None, legend='brief', ax=None, **kwargs)

很多参数都是熟悉的了,这里不再一一解释了,下面通过举例了解其含义。

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

输出结果:

enter image description here

从效果上看,其实通过 style='time' 又引入了一个维度,即用不同的散点形状表示 time 特征下的数据。

此外,参数 size 可以用于设置点的大小。如果将它指定为某个分类特征,那么也就相当于用散点的大小表示了该特征不同值,相当于又在坐标系中叠加了一个维度。

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

输出结果:

enter image description here

并且,参数 sizes(注意写法,是复数形式了)能够规定参数 size 中划分的不同特征的“散点”大小。

sns.scatterplot(x='total_bill', y='tip', hue='day', 
                size='smoker', sizes=(50, 150), data=tips)

输出结果:

enter image description here

了解了 sns.scatterplot 的使用方法之后,再研习 sns.relplot 的参数 kind='line' 时的等同函数 sns.lineplot。

2. sns.lineplot

用这个函数,能够根据 x 轴和 y 轴的数值,直接画出反映了两个变量关系的曲线。

sns.lineplot(x='total_bill', y='tip', data=tips)

输出结果:

还有 62% 的精彩内容
©著作权归作者所有,转载或内容合作请联系作者
支付 ¥2.99 继续阅读
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容