如今大数据盛行,许多人都在寻求一款既好用又容易上手的工具,尤其是可视化工具。今天,就为各位数据人甄选10个最容易上手又好用的大数据可视化工具。
1.ChartBlocks
无需编码的ChartBlocks是一个易于使用的在线工具。它可以轻松地从电子表格、数据库中构建可视化图表,整个过程可以在图表向导的指导下完成,只要跟随步骤执行便可。
2.Chart.js
Chart.js支持饼图、线性图和雷达图等多种图表类型,只有11KB大小的它快速且易于使用。这使它成为做小项目图表的很好选择。
3.Chartist.js
chartist.js使用了Sass的个性化风格,它的开发社区一直致力于打败其他所有JavaScript图表库,志向十分伟大。
4.D3.js
D3.js是一款开源的工具,在JavaScript上不仅开源实时交互,同时使用了HTML、CSS和SVG,在许多数据人的心中其都有着不可动摇的位置。
5.Datawrapper
不需要任何编程基础的Datawrapper非常容易使用,只需要上传数据,便能轻松地创建和发布图表。作为一款专注于新闻和出版的可视化工具,包括卫报、华尔街日报、华盛顿邮报、Twitter等知名媒体都使用了Datawrapper,它的地位由此可见。
6.Ember Charts
它是一款基于Ember.js框架和使用D3.js的可视化工具。有着易于扩展且有着极强的错误处理能力,即使遇到坏数据,系统也不会崩溃。要是任务以绘制时间序列图、柱状图、饼图和散点图为主,可将它列为首选。
7.Fusion Charts
Fusion Charts提供许多常用的如PNG、JPEG、SVG、PDF等格式的图表,而且还支持JSON和XML数据,它可以轻松集成Angularjs、jQuery库、React框架,以及ASP.NET、PHP语言。
8.Google Charts
Google Charts非常人性化,不仅网站拥有一个非常好且全面的模板库,而且创建的图表是交互式甚至可缩放的,让用户可以从中找到所需的模板。
9.High Charts
提供Highstock和Highmaps两个专门的图表类型的High Charts,是一个JavaScript API与jQuery的集成工具,它的图表使用的是SVG格式,VML也让它支持旧版浏览器,很人性化。另外,High Charts提供的一系列插件是可以免费使用的。
10.Infogram
Infogram最大的优势在于,它可以链接可视化信息图表与实时大数据。即使要在浩如星海的图表、地图、视频等可视化模板中选择想要的一款,也只须三个简单步骤便可实现。
选择适合自己使用的大数据可视化工具,让你轻松遨游大数据海洋!
引入ECharts
echarts提供多种引入方式,请根据你的项目类型选择合适的方式:
模块化包引入
如果你熟悉模块化开发,你的项目本身就是模块化且遵循AMD规范的,那引入echarts将很简单,使用一个符合AMD规范的模块加载器,如esl.js,只需要配置好packages路径指向src即可,你将享受到图表的按需加载等最大的灵活性,由于echarts依赖底层zrender,你需要同时下载zrender到本地,可参考demo,你需要配置如下。
需要注意的是,包引入提供了开发阶段最大的灵活性,但并不适合直接上线,减少请求的文件数量是前端性能优化中最基本但很重要的规则,务必在上线时做文件的连接压缩。
//from echarts example
require.config({
packages: [
{
name: 'echarts',
location: '../../src',
main: 'echarts'
},
{
name: 'zrender',
location: '../../../zrender/src', // zrender与echarts在同一级目录
main: 'zrender'
}
]
})
模块化单文件引入(推荐)
如果你使用模块化开发但并没有自己的打包合并环境,或者说你不希望在你的项目里引入第三方库的源文件,我们建议你使用单文件引入,同模块化包引入一样,你需要熟悉模块化开发。
自2.1.8起,我们为echarts开发了专门的合并压缩工具echarts-optimizer。如你所发现的,build文件夹下已经包含了由echarts-optimizer生成的单文件:
dist(文件夹) : 经过合并、压缩的单文件
line.js : 折线图(如需折柱动态类型切换,require时还需要echarts/chart/bar)
bar.js : 柱形图(如需折柱动态类型切换,require时还需要echarts/chart/line)
scatter.js : 散点图
k.js : K线图
pie.js : 饼图(如需饼漏斗图动态类型切换,require时还需要echarts/chart/funnel)
radar.js : 雷达图
map.js : 地图
force.js : 力导向布局图(如需力导和弦动态类型切换,require时还需要echarts/chart/chord)
chord.js : 和弦图(如需力导和弦动态类型切换,require时还需要echarts/chart/force)
funnel.js : 漏斗图(如需饼漏斗图动态类型切换,require时还需要echarts/chart/pie)
gauge.js : 仪表盘
eventRiver.js : 事件河流图
treemap.js : 矩阵树图
venn.js : 韦恩图
echarts.js : 这是包含AMD加载器的echarts主文件,需要通过script最先引入
chart(文件夹) : echarts-optimizer通过依赖关系分析同时去除与echarts.js的重复模块后为echarts的每一个图表类型单独打包生成一个独立文件,根据应用需求可实现图表类型按需加载
source(文件夹) : 经过合并,但并没有压缩的单文件,内容同dist,可用于调试
采用单一文件使用例子见ECharts单一文件引入,存放在example/www下,首先你需要通过script标签引入echarts主文件
//from echarts example<body>
<div id="main" style="height:400px"></div>
...
<script src="./js/echarts.js"></script>
</body>
在主文件引入后你将获得一个AMD环境,配置require.conifg如下:
//from echarts example<body>
<div id="main" style="height:400px"></div>
...
<script src="./js/echarts.js"></script>
<script type="text/javascript">
require.config({
paths: {
echarts: './js/dist'
}
})
</script>
</body>
require.config配置后就可以通过动态加载使用echarts
//from echarts example<body>
<div id="main" style="height:400px"></div>
...
<script src="./js/echarts.js"></script>
<script type="text/javascript">
require.config({
paths: {
echarts: './js/dist'
}
})
require(
[
'echarts',
'echarts/chart/line', // 按需加载所需图表,如需动态类型切换功能,别忘了同时加载相应图表
'echarts/chart/bar'
],
function (ec) {
var myChart = ec.init(document.getElementById('main'))
var option = {
...
}
myChart.setOption(option)
}
)
</script>
</body>
总结来说,模块化单文件引入ECharts,你需要如下4步:
为ECharts准备一个具备大小(宽高)的Dom(当然可以是动态生成的)
通过script标签引入echarts主文件
为模块加载器配置echarts的路径,从当前页面链接到echarts.js所在目录,见上述说明
动态加载echarts及所需图表然后在回调函数中开始使用(容我罗嗦一句,当你确保同一页面已经加载过echarts,再使用时直接require('echarts').init(dom)就行)
详见入门教程 ( Getting started ) »
标签式单文件引入
自1.3.5开始,ECharts提供标签式引入。如果你的项目本身并不是基于模块化开发的,或者是基于CMD规范(如使用的是seajs),那么引入基于AMD模块化的echarts可能并不方便,我们建议你采用srcipt标签式引入,忘掉require。Srcipt标签引入echarts后将可以直接使用两个全局的命名空间:echarts,zrender,可参考ECharts标签式引入,需要注意的是excanvas依赖body标签插入Canvas节点去判断Canvas的支持,如果你把引用echarts的script标签放置head内在IE8-的浏览器中会出现报错,解决的办法就是把标签移动到body内(后)。
标签式引入环境中,常用模块的引用可通过命名空间直取,同模块化下的路径结构,如:
echarts.config = require('echarts/config'), zrender.tool.color = require('zrender/tool/color')
//from echarts example<body>
<div id="main" style="height:400px"></div>
...
<script src="example/www2/js/dist/echarts-all.js"></script>
<script>
var myChart = echarts.init(document.getElementById('main'))
var option = {
...
}
myChart.setOption(option)
</script>
</body>