数据可视化进阶之seaborn

245 阅读2分钟

概述

怎么说呢,seaborn离我心目中的理想的数据可视化更近一步了,也是我会推荐别人去学习的一个可视化库。在前一篇文章我提到matplotlib是基础,seaborn是进阶,我觉得更形象一点的描述应该可以这样认为matplotlib可以让你实现数据可视化,seaborn可以让你体会到一些数据之美。而且seaborn的语法比matplotlib更加简洁,短短的几行就可以画出很amazing的可视化图像。Let's go to see somethings in seaborn.

内容

一些seaborn图

就不装什么神秘的了,先放一些图给大家感受感受seaborn的魅力,我们再上具体的内容。GOGOGO!!! image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

seaborn基础图表

记得先导入包import seaborn as sns,下面我只介绍基本的绘制是怎么实现的,其他的参数调节我就不讲了因为跟上一节的matplotlib差不多,毕竟seaborn是基于matplotlib的包装优化,当然也有不同具体可以去官网查每个参数的用法。

  • 相关性图表:主要是散点图和折线图
    • 散点:sns.relplot(kind = 'scatter')
    • 折线:sns.relplot(kind = 'line')

image.png

  • 分布型图表:主要包含的图表有直方图,核密度分布图和累积概率密度图
    • 直方:sns.displot(kind = 'his')
    • 核密度:sns.displot(kind = 'kde')
    • 累积概率密度:sns.displot(kind = 'ecdf')

image.png

  • 分类型图表:seaborn中用于展示分类型数据的图表比较多,我们按照seaborn官方的划分成三个类型点类型,分布类型,预估类型。
    • 点:sns.catplot(kind = 'strip'或者kind='swarm')
    • 分布:sns.catplot(kind = 'box'或者kind='violin'或者kind='boxen')
    • 预估:sns.catplot(kind = 'point'或者kind='bar'或者kind='count')

image.png

  • 回归模型图表:seaborn帮助你做回归分析,主要有两个图表来进行支持:regplot和lmplot
    • sns.regplot()
    • sns.lmplot()

image.png

  • 其他图表之热力图:并不归类于以上的四种类型,但在实际使用中,使用频率也叫较高的。
    • sns.heatmap()

image.png

一点点进阶:组合图表

JointGrid:创建的多图是一张主图,然后在上方和右侧边缘区域添加图表用于展示单变量的分布情况

  • 我们可以通过g.plot_joint() 、g.plot_marginals()去分别绘制中心区域和边缘区域图表;

image.png

总结

总的来说,seaborn不再木讷,不再学术风,更贴近商业图表,更好看。但是他还是什么呢,他还是静止的,静态图片,静态图片你再好看比得过动态图表甚至是视频吗?很显然不行,所以未来我将进一步探究pyecharts甚至更高端的可视化方式。

最后的最后呢,有个问题:R语言的可视化实现真的很好吗?我没学过R但是我看了一下R画的一些图感觉也就跟seaborn差不多,我不太清楚想请教一些大家,如果你知道的话欢迎发评论与我交流。