跟我一起学点数据分析 --第六天:数据可视化(seaborn部)

举报
看,未来 发表于 2021/01/05 00:47:41 2021/01/05
【摘要】 文章目录 前文回顾数据集seaborn绘图入门直方图 与 密度图频数图条形图散点图为点设置形状和大小 蜂巢图2D密度图箱线图条形图小提琴图成对关系多变量数据 前文回顾 跟我一起学点数据分析 --第五天:数据可视化(matplotlib部) 数据集 数据可视化部分能用到的数据集在上一篇都已经给啦。 什么x轴、y轴、标题,咱一律不整那...

在这里插入图片描述

前文回顾

跟我一起学点数据分析 --第五天:数据可视化(matplotlib部)


数据集

数据可视化部分能用到的数据集在上一篇都已经给啦。

什么x轴、y轴、标题,咱一律不整那些虚的啊,前一篇已经整够多了,复制粘贴的我都累。


seaborn绘图入门

这里先用tips.

直方图 与 密度图

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

tips = pd.read_csv('tips.csv')

ax = sns.displot(tips['total_bill'],kde = True)
# displot 函数默认会绘制直方图和密度图,如果不想看到密度图,把kde设为False,我这边默认是False

plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

如果只想看到密度图呢?

在这里插入图片描述

本来想把上面的kde参数改成hist参数,但是说hist参数已经被弃用,就是这么无情,并不能在国内的网站上轻易找到答案,反正我烦了一页是没有,还是在国外的一本书上人家随口提了一句。
国内网站关于seaborn的资料太少了,英语咱又不好。。。还不会翻墙。。。

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

tips = pd.read_csv('tips.csv')

ax = sns.kdeplot(tips['total_bill'])

plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

频数图

上边第一张就差不多

在这里插入图片描述

有区分度么?

ax = sns.distplot(tips['total_bill'],rug = True)

  
 
  • 1

条形图

ax = sns.countplot('day',data = tips)

  
 
  • 1

在这里插入图片描述


接下来是双变量数据的世界


散点图

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

  
 
  • 1

在这里插入图片描述

同样的,如果你不想看回归线,那怎么办?把fit_reg设置为False

在这里插入图片描述

来个更牛逼的,具体自己看:
在这里插入图片描述

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

tips = pd.read_csv('tips.csv')

ax = sns.jointplot(x = 'total_bill',y = 'tip',data = tips)
ax.set_axis_labels(xlabel='Total Bill',ylabel='Tip')
ax.fig.suptitle('Joint Plot',fontsize = 10,y = 1.03)

plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

为点设置形状和大小

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

tips = pd.read_csv('tips.csv')


sns.regplot(x='total_bill', y='tip', data=tips,marker='o', color='red', scatter_kws={'s':20})

plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

更详尽的用法参考上一篇
在这里插入图片描述


蜂巢图

散点图适用于比较两个变量,但有时图中的点太多反而会失去意义。
哎,话也不多说,直接看吧:

在这里插入图片描述

就改这么一行:hexbin = sns.jointplot(x = 'total_bill',y = 'tip',data = tips,kind = 'hex')

然后就OK啦


2D密度图

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

tips = pd.read_csv('tips.csv')

ax = sns.kdeplot(data = tips['total_bill'],data2 = tips['tip'],shade = True)

plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

ax = sns.jointplot(data = tips,x = 'total_bill',y = 'tip',kind = 'kde')

  
 
  • 1

在这里插入图片描述


箱线图

箱线图用来显示多种统计数据的信息,就是describe函数看到的那些·

ax = sns.boxplot(data = tips,y = 'total_bill',x = 'time')

  
 
  • 1

在这里插入图片描述


条形图

条形图我就不说了吧,barplot,自己用。


小提琴图

在这里插入图片描述

我说它是箱线图和密度图的合体你信吗?

ax = sns.violinplot(data = tips,y = 'total_bill',x = 'time')

  
 
  • 1

成对关系

当大部分数据都是阿拉伯数字的时候,可以使用pairplot 把所有的成对关系都描绘出来。
但是直接用的话,会有不少的冗余。

于是·我们采用PairGrid来手动指定图的上半部分和下半部分(一会儿可以去查一下这个函数)

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

tips = pd.read_csv('tips.csv')

pait_grid = sns.PairGrid(tips)

pait_grid = pait_grid.map_upper(sns.regplot)
pait_grid = pait_grid.map_lower(sns.kdeplot)
pait_grid = pait_grid.map_diag(sns.distplot,rug = True)	#这个true有什么用呢?只是频数而已


plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述


多变量数据

如果数据量还不小,你想根据某个变量来进行一波分流操作,怎么操作呢?

比方说我现在要以性别来分流。

在这里插入图片描述

ax = sns.violinplot(data = tips,y = 'total_bill',x = 'time',hue='sex')

  
 
  • 1

这篇就先到这里啦。

最近我发现啊,要验证一篇博客好不好,要看它的实战性能。

所以后面我还会回来的。

文章来源: lion-wu.blog.csdn.net,作者:看,未来,版权归原作者所有,如需转载,请联系作者。

原文链接:lion-wu.blog.csdn.net/article/details/112143468

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。