官网 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组。