【课程合集】大数据博士教你大数据的可视化

数据可视化,实际上就是翻译,

同样也追求信达雅
信: 准确的表示信息

在看别人的图表的时候,注意它的坐标轴起始位置以及坐标轴的间隔是否真的和数据保持了对应
达: 以图表上的元素尽量能够更好的表示数据的信息
雅: 一方面指的是审美,
另一方面让数据信息更直观
正所谓可视化就是翻译,
所以要求也是 信>达>雅
可以互动,但不是必要,
更需要注意配色与图表类型
配色的话可以查看一下相关的色彩理论,以及brewer这个包的使用
图表类型选择要按照以下的步骤进行

可视化图表种类


选择新图表的时候需要谨慎
因为你要考虑这个图表,
大家是不是能够理解其中的内容
对比关系:
条形图
条形图的条数太多的话,文字会重叠.
条形图或者说柱状图更适合用来对比而不是展现趋势
如果展现趋势,选择折线图
雷达图

雷达图适合展现多维数据, 最好多于三维
通常的用途是用来展示某种性能的好坏.
所以图中每个轴值越大应该是越好.
表现趋势
折线图:
可以把折线图理解为一个沿着x轴移动的点所留下的轨迹,
这意味着折线图的X轴和Y轴都必须要有一个大小关系
折线下带上半透明的阴影就变成了面积图
面积图有一种变种,堆积面积图
堆积面积图需要变量之间在概念上不存在重叠

分布关系
散点图,
Xy轴分别代表两个维度, 可以看出数据的相关性/分布趋势/密集程度等等
如果散点图中的每个点用大小来表示第3个维度的信息, 就是气泡图
但注意气泡图面临着气泡互相重叠以及大小失真的问题.
所以要表示第3个维度的信息, 优先选择颜色
直方图与概率密度图
直方图和概率密度图都是为了显示一维数据的概率分布
直方图的每一个bin的大小和概率密度图中核的大小都会影响到展示的效果
概率密度图是通过核(kernel)方法来得到一个连续的概率密度. 你可以想象成光斑的叠加.
概率密度图扩展到二维数据中就会接近于等高线图.
箱线图 boxplot
箱线图一般用作显示单个峰的分布,
多个峰的分布,它不太好展现
色块图和热图都涉及三个维度
都是表现Z维度在xy维度上的分布情况
z如果是连续的就是热图,不连续的是色块图
表示数据构成
使用饼图环形图或者是百分比柱状图
但是注意在表示这些图形的时候,不能选用的分类太多,6类已经是很高了
表示数据间关系
为了表示数据间的关系,也不仅要有数据,而且还要有数据项之间的关系信息
其中sankey图它可以用来表示某种"流", 水流的流.
数据是有方向的,而且不可压缩
网页绘图的基本原理
Html5包含三个部分,一个是html语言,样式表CSS以及JavaScript
Css指定了网页元素的格式,而JavaScript可以实现网页的交互
Html5支持三种绘图,
canvas -- 位图
svg -- 矢量图
webGL --- 三维绘图.
SVG高保真,但是数量较多时候拖慢网页速度.
通过JavaScript可以操纵这些绘图元素, 从而实现动画.

实际的数据可视化项目的两种思路:


几个大厂出品的在线可视化工具
sanddance 微软出品, 但它不能显示图地图数据
kepler 擅长显示地图数据. 但它无法显示时间数据
mobmap 功能比较强, 但是是日本东京大学研发, 需要科学上网
echarts 是一个JavaScript的绘图库,
在实践中,他最好要和Python来协同工作.