分享太阁 DS201全栈数据可视化训练营

官网 https://www.bittiger.io/livecourses/zkQwRHBzeDsLmZ4kp/Data%20Visulization

课程大纲

第一课 概览

数据可视化基础:

  • 数据是什么
  • 可视化概览
  • 相关软件与技术选型

可视化的纵与横:

  • 数据产业的链路
  • 可视化的生态圈
  • 可视化的商业场景

预备知识:

  • Nodejs & 爬虫
  • HTML5基础
  • SQL

基于地图的房价分析系统:

  • 相关商业应用:mapbox
  • 项目描述

基于图与文本搜索的邮件门分析工具:

  • 相关商业应用: palantir与本拉登
  • 项目综述

第二课 服务器与web基础(Node.js + HTML5入门)

web生态简介

服务器的原理

  • 为什么有服务器
  • Express原理
  • Express实操

WEB基础

  • HTML、CSS原理
  • Javascript初步
  • 数据渲染的几种方式
  • Jquery 简介

服务器简介与实操

  • 上传网站
  • 压缩代码
  • 云服务介绍

数据库简介

第三课 爬虫精讲

数据获取的几种途径

爬虫的基本原理、实现方法、应用方式

  • 爬虫的基本分类
  • 爬虫的基本流程
  • 爬虫的语言生态

获取URL

  • 通过chrome分析网站结构
  • 几种URL的特点

实战

  • 最简单的爬虫
  • 更慢的速度: 串行队列的几种实现
  • 更快的爬取: 请求池
  • 模拟登录:通过phantomjs登录网站 我
  • 实现简单的ip代理

扩展

  • 反爬虫与反反爬虫的一些规则
  • 分布式爬虫简介

案例: 房价数据爬取

作业:wikileak竞选数据爬取

第四课 数据处理(Postgres SQL)

数据与数据库的存储方式

如何选择数据库

  • 数据库的分类
  • 关系型数据库pk

导入数据的几种方式

  • CSV / dump数据导入(如公开数据下载)
  • 从表到表
  • 爬虫ORM入库

查询数据

  • SELECT 入门
  • 验证几种平均
  • GROUP BY操作
  • 用SQL分析房价

更多的SQL知识

  • UPDATE 和 DELETE
  • 窗口函数
  • 交通数据分析

用ORM管理数据

  • Sequelize.js简介
  • 用Sequelize.js 改造爬虫

基于客户端与工具的可视化

  • MetaBase介绍
  • Postgres + Valentina Studio + Keynote/ Office的可视化
  • 结合Echart的可视化

通过ORM连接数据库(Mongodb & Postgres)

raw sql 与安全问题

  • 案例1: 上海房价分析
  • 案例2: 希拉里邮件分析

第五课 d3图表基础课程

基础介绍

  • 图表库介绍及基础选型

d3的特点

  • 数据驱动的概念
  • 绘制案例(绘制三个圆形并以数据驱动)

基础图表分类介绍

  • 常用图表类型简介
  • 常用图表的理解成本
  • 常用图表适用场景

使用d3开发三种基础图表

  • 基础折线图开发实例
  • 基础柱状图开发实例
  • 基础饼状图开发实例

开发实时更新的动态基础图表

  • 动态更新折线图开发实例
  • 动态饼图开发实例
  • 两种动画方式的实现

梳理建立自己的图表库

  • 一个基础图表的分解
  • 基础方法梳理
  • 可扩展性的考量

案例:

三个基础图表库的开发及进阶的动态开发

作业:自身图表库的构建

第六课 d3图表进阶课程

色彩的优化

  • 配色方案优化
  • 渐变填充
  • 用渐变填充的饼状图开发实例

交互的优化

  • 联动图例的开发
  • 图表间的联动
  • 基础TIP添加
  • 异常数据的交互

如何降低图表理解成本

  • 图表间的转换

Chrome组件的开发

  • 如何开发一个Chrome插件
  • 如何获得页面中的数据表格
  • 数据格式规范化接入
  • 接入自身组件库用于展示

案例:chrome组件开发

第七课 地理可视化

地理数据可视化简介

  • 点图
  • 轨迹图
  • 热力图
  • 区域图
  • 3D可视化
  • 其他

实战操作:

  • 基于d3.js的地理可视化
  • 基于leaflet的地理可视化
  • 用dat.gui实现参数控制

延伸

  • 地理投影的概念
  • 可视化中的色彩搭配

第八课 图可视化(graph layout)

最简单的乒乓球游戏

  • 匀速直线运动和碰撞反射
  • Javascript动画基本原理及浏览器的实现
  • 用dom元素实现动画主题
  • css动画的基本原理

物理系统的横向扩展

  • 使用canvas实现上述的游戏,扩展 通过konva.js 完成交互
  • 打台球和乒乓球,多种受力关系
  • 盗梦空间、爱舍尔的画与脑洞打开的游戏扩展(双曲面空间与投影)

物理引擎与图布局计算

  • 总结2,物理引擎的一般规律,以及在行业中的应用
  • 实现一个泡泡图(circle packing问题)
  • 图可视化与力引导图,原理与实现
  • 图可视化算法的优化介绍 gephi

基于d3.js实现力引导图可视化

  • SQL清洗数据
  • d3中受力体系的介绍
  • 最简单的图
  • 防止叠加
  • 交互优化

第九课 粒子系统与飞线图绘制 & 文本可视化

粒子系统

  • 基于d3的三体的粒子运动模拟
  • 基于函数的粒子系统

基于粒子系统的飞线图绘制(航班数据可视化)

  • 二次函数的原理复习

  • 生命周期的实现

  • 数据的适配

  • canvas擦除算法的3种实现

  • 图片缓存优化

  • 横向扩展 svg、webgl里的飞线绘制

  • 轨迹图原理简介

文本可视化简介

  • 分词的原理介绍
  • 使用postgres处理文本
  • 文本可视化
  • 交互细化

金牌教师

Wenxiao

数据可视化资深开发工程师@阿里巴巴

阿里巴巴数据可视化主要负责人,资深开发工程师; datav.js数据可视化组件库开发成员;datavlab.org数据可视化社区组织者。负责阿里大型项目可视化项目展示与管理。 阿里巴巴数据可视化主要负责人,资深开发工程师; datav.js数据可视化组件库开发成员;datavlab.org数据可视化社区组织者。负责阿里大型项目可视化项目展示与管理。

Ningyi Zhou

数学的美学世界创始人,前阿里巴巴数据可视化工程师

2009年毕业于上海交大,2009-2013年从事设计(景观、建筑),曾在参数化事务所hhd-fun工作,2011年创建小站数学的美学世界,一度达到22万的关注量。现为阿里巴巴可视化工程师,主攻webgl、海量数据可视化、地理相关可视化,同时也是创意编程线在线沙龙第十三期特邀嘉宾。

Jingxuan

Visa JavaScript Full-stack Engineer

专攻数据可视化。目前使用WebGL实现Web数据3D可视化。 专攻数据可视化。目前使用WebGL实现Web数据3D可视化。

Shirley

Data Engineer

本科毕业于北京邮电大学通信工程专业,2014年研究生毕业于Stony Brook Univerisity的计算机专业,目前在Blackrock从事Data Science/Engineer相关工作。对数据分析及大数据非常感兴趣。 主攻ETL、数据分析。 主攻ETL、数据分析。 主攻ETL、数据分析。 本科毕业于北京邮电大学通信工程专业,2014年研究生毕业于Stony Brook Univerisity的计算机专业,目前在Blackrock从事Data Science/Engineer相关工作。对数据分析及大数据非常感兴趣。 主攻ETL、数据分析。 本科毕业于北京邮电大学通信工程专业,2014年研究生毕业于Stony Brook Univerisity的计算机专业,目前在Blackrock从事Data Science/Engineer相关工作。对数据分析及大数据非常感兴趣。 3年全栈开发经验,曾就职于Blackrock Core Data组。 3年全栈开发经验,曾就职于Blackrock Core Data组。