这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天
一、本堂课重点内容:
- 什么是数据可视化
- 设计原则及方案
- 可视化工具介绍
二、详细知识点介绍:
什么是数据可视化
生活中的例子:
什么是可视化呢 ,很大部分数据就是一堆的数字,比如xx比率啥的,而把这种奇奇怪怪的数字,转化成图片、表格、柱状图等,能够让我们巧妙的观察数据,就是可视化了。可视化数据在我们日常生活中非常的常见,而作为前端开发人员,要经常和页面打交道,把错综复杂的数据形象的呈现在用户面前就变得尤为重要了。
设计原则及方案
糟糕的数据可视化:
像这样类似的数据可视化虽然呈现了数据,但并不形象美观,数据也不可观,那要怎么设计一个合理的可视化数据的呈现呢
数据可视化的原则之一是能够正确地表达数据中的信息而不产生偏差与歧义
常见的错误可视化
1.透视失真
- 如果数字是由视觉元素表示的,那么它们应该与视觉元素的感知程度成正比。
- 使用清晰、详细和彻底的标签,以避免图形失真和含糊不清。
2.图形设计&设计尺度
图形的每一部分都会产生对其的视觉预期 (visual expectation) :
- 这些预期往往决定了眼睛实际看到的东西;
- 错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉预期推断。
一个典型的例子:轴刻度,我们期望它从始至终能够保持连贯且一致。
3.数据上下文
我们需要配合好上下文,这样数据会更加的具有说明性,不会含糊不清
数据可视化基本原则:
-
准确地展示数据
-
节省笔墨
-
节省空间
-
消除不必要的“无价值”图形
-
在最短时间内传达最多的信息
可视化设计方法
最重要的是展现数据
合理范围内,最大化数据墨水占比
- 擦除非数据墨水
- 擦除冗余的数据墨水
数据可视化工具
D3
可视化的开源的JavaScript函数库,被认为是最好的JavaScript可视化框架之一。
Vega
Vega是一种可视化语法。通过其声明式语言,可以用JSON格式描述可视化的视觉外观和交互行为,并使用Canvas或SVG生成视图。
G2
一套面向常规统计图表,以数据驱动的高交互可视化图形语法,具有高度的易.用性和扩展性。使用G2,你可以无需关注图表各种繁琐的实现细节,-条语句即可使用Canvas或SVG构建出各种各样的可交互的统计图表。
ECharts
ECharts,一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE9/10/11, Chrome, Firefox,Safari等),底层依赖矢量图形库ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表
三、实践练习例子:
echarts示例:
1.引入echarts
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!-- 引入刚刚下载的 ECharts 文件 -->
<script src="echarts.js"></script>
</head>
</html>
2.写一个简单的柱状图
<body>
<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
<div id="main" style="width: 600px;height:400px;"></div>
</body>
3.数据给上
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ECharts</title>
<!-- 引入刚刚下载的 ECharts 文件 -->
<script src="echarts.js"></script>
</head>
<body>
<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
legend: {
data: ['销量']
},
xAxis: {
data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
},
yAxis: {},
series: [
{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>
效果图:
如果是用vue运用echarts,可以直接用npm下载好echarts
npm i echarts
然后就可以运用啦
四、课后个人总结:
学会数据可视化的设计和方法是非常重要的一项技能,如何运用可视化工具也是我们前端人员需要去学习运用的,可以尝试一下。