爱了!安利一个相见恨晚的可视化学习网站
来源:Python数据科学 原创
作者:东哥起飞
最近日常逛逛技术平台,偶然间发现了一个非常牛逼的可视化学习网站。东哥之前在公众号和技术群里也推荐过一些,但和这个相比我觉得真是太逊色了。
好了,话不多说,我迫不及待地想分享下这个神器。
这个网站的名字叫 图之典,它是由一群数据可视化爱好者共同建立起来的,这些人来自各大公司,利用工作之余的时间攒起的这个网站,这里由衷地敬佩下。
下面我们看看究竟什么样。
1. 图之典主页
http://tuzhidian.com/
首先,这个主页的设计就是我非常喜欢的风格,简单清晰,第一眼就让人有特别清爽的感觉,不愧是专业的前端可视化工程师做出来的东西。
可看到,网站共罗列了22种可视化图形。东哥仔细看了下,这些已经基本涵盖了我们日常的大部分需求了。
图形上方是按照不同维度对可视化图形进行筛选的项,有常用、形状、图类、功能几个维度。
如果你脑海中有了某种构思或者模糊的概念,确又不知道该用什么图比较合适的时候,就可以通过筛选功能来挑选。当然,如果你对某种图形早就耳熟能详,那也可以直接找到并点开学习。
2. 可视化学习
然后我重点说下图之典的内容。
首先,每种图形都会按照一定的目录顺序进行介绍,目录包括:
- 图表简介
- 图表属性
- 图表详解
- 相似图表
- 设计案例
- 使用场景
- 制作教程
- 专项工具
- 学习资源
- 参考文献
- 贡献者
为了更好的给大家展示,我们选一个桑吉图介绍下。这个一般搞数据分析或者可视化都知道,是一个流量分配的图形,在具体的业务分析上常用到。
图表简介
首先就是介绍桑基图的基本介绍。
图表属性/图表详解
然后说明了图表的所属类别、功能和元素构成,像桑基图就包含了流量、节点、边三个基本元素。下图中的小例子已经很清晰了。
适用场景
这里就会提到了桑基图不适合什么场景,比如:
- 不适合边的宽度不等,因为桑基图遵循能力守恒原则
- 变量太多不适合,建议先归类
相似图表
按照不同维度分类相似图形,比如漏斗图从功能上和桑基图是相似的,都有流量转化的功能,而外型上则与平行坐标系更相似。
设计案例
教程中列举了很多相关图形的设计案例,来全全球各地的成功数据分析师,每个图形教程里都有这样精心挑选的案例,毕竟从实际应用去了解一个图形和数据的结合才能有更深刻的理解。
使用场景
也是从应用的角度出发推荐了一些别人使用的场景,当然重要的还是理解这个图形逻辑,懂了可以举一反三。
制作教程
另外,作者将自己的所有制作教程全部开源,BI工具、代码库、设计工具几个部分都用到了什么工具。比如,代码库里我看了 matplotlib 以及 pyecharts 这种Python的可视化包,BI里使用了Tableau、PowerBI等等。
3. 总结
这个精巧的小网站非常适合初学者学习,尤其是理解数据如何通过可视化展示的,有哪些常用的可视化图形,这些对于分析使用非常有帮助。
不足的地方就是仅仅是文字教程,不能在线制作图形或者实操,不过已经非常不错了。在线制图的可视化工具下次我再介绍一个
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 用C++跟你聊聊“代理模式”
- mybatis与spring整合步骤以及自己遇到的错误
- 用C++跟你聊聊“装饰者模式”
- 【python实现卷积神经网络】激活函数的实现(sigmoid、softmax、tanh、relu、leakyrelu、elu、selu、softplus)
- 【python实现卷积神经网络】损失函数的定义(均方误差损失、交叉熵损失)
- 【python实现卷积神经网络】优化器的实现(SGD、Nesterov、Adagrad、Adadelta、RMSprop、Adam)
- 用C++跟你聊聊“策略模式”
- 【python实现卷积神经网络】卷积层Conv2D反向传播过程
- 【python实现卷积神经网络】全连接层实现
- 来我们聊聊“简单工厂模式”
- 【python实现卷积神经网络】批量归一化层实现
- 【python实现卷积神经网络】池化层实现
- srand()和rand(),生成随机数,留给我自己看
- 【python实现卷积神经网络】padding2D层实现
- mybatis之全局配置文件中的标签