python 数据可视化sns作图
相信很多人在jupyter notebook画图,是这样的过程,
画什么图? 散点? 柱状?function是什么?google查一下。
嗯,我还差个标题,标题加在哪里,stackoverflow 看看有没有。
对了,我还要调颜色,调坐标,我还想双轴展示,左右展示。
然后,google看了10几个链接,结果,要么花了半个小时,不停试错,终于画出了想要的图,要么还在一个个点google 搜索的link内容。
如果你有大量时间,当然是没什么问题,但是数据岗位求职时候,那些take home challenge可不会给你这么多时间。
所以,在这种情况下,我们只需要掌握这3个function,我们就能快速画出任何(80%)我们想要画的图。
这三个function就是:
- sns.relplot
- sns.catplot
- sns.distplot
我们先看看为什么这3个function那么万能。
第一个:sns.relplot
2个连续变量作图
从最简单的x,y轴作图来说,如果x轴和y轴的feature都是连续变量的话,我们就可以用:sns.relplot。
比如,吃饭总价和小费
我们看到
下图sns.relplot和sns.scatter是一样的。
下图sns.relplot 和 sns.line是一样的。
所以,当两个连续变量做图时,不做任何aggregation的话,
我们用sns.relplot就可以了。
我们只需要通过更改sns.relplot(kind=’scatter’, /kind= ‘line’)就可以达到作图的要求了
第二个:sns.catplot
1个分类变量作图,第2个连续变量
sns.catplot故名思议,cat 指的是categorical的意思,所以,只要你的x轴是categorial变量的话,用catplot基本可以解决80%的作图。
举一个例子:
catplot() 和 stripplot() 可以作出同样的图
这里catplot 和relplot 不同的地方,relplot是将原数据的y值直接展现在坐标系作图,
而catplot既可以在y轴呈现原有y的数值,也可以aggregation原数据y后作图。
可以aggegation成平均,或者aggregation成distribution;
比如:
1、aggegation成平均(点图)
2、求aggegation成平均(柱状图)
这里比较讨巧的地方是,我们在做AB测试分析的时候,需要计算conversion rate,我们可以通过catplot,用上图的方法,直接从原数据自动aggregate出来。
非常方便。
3、另外,catplot还能做max,min的distribtuion
4、当然,像sns.catplot开头的那张也可以对y值直接做plot,不做任何的aggregation
5、sns.plot还可直接计算categorical变量出现的次数:
第三种:sns.distplot
从上面sns.catplot(kind=count)功能我们发现,x轴是分量变量,那如果x轴是连续变量,我可以计数吗?
也就是说,我可以plot出连续变量的frequency 的 distribution吗?
当然可以,其实有2方法,第一种,有pandas的cut function,把连续变量分段,变成分段变量(比如把年龄34,23等变成10-20,20-30,30-40等);
第二种功能就是直接用sns.displot()function。
仔细一看是不是就是PDF和CDF图。
以上就是我们为什么可以用sns.relplot, sns.catplot, sns.distplot来快速完成作图了。
到此为止,我们如果只要一种坐标系的图的话,用这三种function就可以了。
最后再来回味一下:
很多人要问,
如果我想分类展示呢,比如左右2个图?
问题1:
左边是AB测试中的test group,右边是AB测试中的control group,左右分类展示,应该怎么作图?
我们可以用catplot 实现,只需在注明其中参数是col = ‘gender’就可以了
问题2:
对于x轴如果是连续变量,也是希望如上图分类展示,应该如何展示?
这时候,我们需要用到前面没有提到的sns.FacetGrid function
问题3:
左右两张图,左图是AB测试,test和control组的样本量,右图是他们的conversion rate。
这时候,我们就不能用catplot了,因为catplot其中没有参数ax的设定。所以我们不能通过告诉ax[0]就是左边,ax[1]就是右边来实现,因为catplot没有ax参数。
我们只能用cat下一层的function,因为这一层级有ax的参数。
问题4:
重叠展示2张图,比如样本量是柱状图,conversion rate是点图,怎么样在同一张图里实现。
同理,因为catplot没有ax的参数输入,所以我们只能用下一层级的function。
问题5:
有没有非常快速加辅助线的方法?
有,如下。
最后的话,掌握这3种function可以快速作图,但是还是希望有空的话,多看看官方文档,加深认识。
原文链接:https://zhuanlan.zhihu.com/p/124919408
python 数据可视化sns作图相关推荐
- python数据可视化---Pyecharts作图方式、修饰逻辑与数据格式
pyecharts库 下载pyecharts库 直接cmd打开命令提示符输入pip install pyecharts后按回车键下载即可 验证pyecharts库 Step1: 打开jupyter n ...
- 可视化工具不知道怎么选?深度评测5大Python数据可视化工具
相信很多读者学习Python就是希望作出各种酷炫的可视化图表,当然你一定会听说过Matplotlib.Pyecharts.Seaborn.Plotly.Bokeh这五大工具,本文就将通过真实绘图来深度 ...
- 超硬核的 Python 数据可视化教程!
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:机器学习算法那些事 Python实现可视化的三个步骤: ...
- 超硬核的 Python 数据可视化教程
来源:数据分析1480 本文约3000字,建议阅读6分钟 本文为你介绍Python实现可视化的三个步骤. Python实现可视化的三个步骤: 确定问题,选择图形 转换数据,应用函数 参数设置,一目了然 ...
- Python数据可视化工具怎么选?深度评测5款实用工具
来源:早起Python 本文约3100字,建议阅读9分钟 本文通过真实绘图,为你深度测评Python五大数据可视化库. [ 导读 ]相信很多读者学习Python就是希望做出各种酷炫的可视化图表,当然你 ...
- Python数据可视化教程之基础篇
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 开运张 | 作者 知乎专栏 | 来源 https://zhuanlan.zhihu.c ...
- python在线工具-6 种 Python 数据可视化工具
原标题:6 种 Python 数据可视化工具 英文:Chris Moffitt,编译:伯乐在线/李加庆 简介 在 Python 中,将数据可视化有多种选择,正是因为这种多样性,何时选用何种方案才变得极 ...
- python可视化图表工具_酷炫的可视化图表工具来帮忙 深度评测五大Python数据可视化工具...
原标题:酷炫的可视化图表工具来帮忙 深度评测五大Python数据可视化工具 不少Python用户的一大诉求是做出各种酷炫的可视化图表,而这就需要了解清楚工具特色,才好在制作不同类型图表顺利找到适合自己 ...
- python数据可视化的特点_6 种 Python 数据可视化工具
原标题:6 种 Python 数据可视化工具 英文:Chris Moffitt,编译:伯乐在线/李加庆 简介 在 Python 中,将数据可视化有多种选择,正是因为这种多样性,何时选用何种方案才变得极 ...
- Python数据可视化的10种技能
内容来自:极客时间专栏<数据分析实战45讲> 如果你想要用Python进行数据分析,就需要在项目初期开始进行探索性的数据分析,这样方便你对数据有一定的了解.其中最直观的就是采用数据可视化技 ...
最新文章
- U-LanD:基于不确定性的视频地标检测
- 技术贴 | MetaboAnalyst 4.0,代谢组学研究利器的升级
- [BZOJ4556][Tjoi2016Heoi2016]字符串 主席树+二分+倍增+后缀自动机
- 浙江、江苏推动企业上云 瞄准人工智能的工业效益
- Vue全家桶实战03_【从入门到放弃系列】
- linux内核编译的image,内核编译时生成uImage的办法
- 互联网晚报 | 3月8日 星期二 |​ ​​沪指深V反弹,创业板指跌幅收窄至0.75%;腾讯低代码平台与微信开发者平台打通...
- 新建samba配置步骤
- 【新版】掩日免杀windows Defender
- SPSS学习入门 简介安装
- 服务器win2003系统升级,Windows server 2003 升级 到2008 R2
- react应用结构框架图
- 牛皮凉席不好的原因!
- 基于Web实现在线绘画拓扑图[GraphEditor]
- 唱好铁血丹心谐音正规_铁血丹心(谐音歌词)
- CSDN删除上传资源操作
- Python学习(二)列表,for循环,切片,元组
- 简单的python画图代码_python opencv实现简易画图板
- 傅里叶变换及其应用笔记(part 1)
- 第三天JAVASE简单题目