大数据时代的图表可视化利器——highcharts,D3和百度的echarts

    还记得阿里巴巴那个令人澎湃激情的双十一吗?还记得淘宝生动形象地把你的的消费历程一一地展示给你看吗?还记得那些酷炫拽的it报告图表吗?在这个大数据越来越盛行的年代,怎样去表达一些用户的关系,人物的关联,甚至是事情的发展,都让我们有更多的表达方式。其中最简单直接,形象明了的就是用图表说明问题了。
    如果在以前,要实现各种图表,可能很多人会选择flash。但是flash成本较高,图表多的时候很耗性能。后来越来越多的纯js框架出现,让大家有了更多的选择。所以接下来我想推荐几个不错的图表js框架给大家用。

1.highcharts

    这是一个本人认为很好用,同时很多童鞋在用的一个框架。这个框架的中国社区的童鞋,比较积极地维护和不断更新着好多实例。如果使用这个框架,往往能在丰富的例子找到类似的表达样图。推荐程度4个星啊。截几个图给大家看看。
    
 
 
 
实用起来也很简单方便,例如你可以这样实现:
[html] view plain copy
  1. <html>  
  2. <head>  
  3.    <script type="text/javascript" src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js"></script>  
  4.    <script type="text/javascript" src="http://cdn.hcharts.cn/highcharts/4.0.1/highcharts.js"></script>  
  5.    <script>  
  6.      $(function () {   
  7.         $('#container').highcharts({  
  8.             chart: {  
  9.                 type: 'column'  
  10.             },  
  11.             title: {  
  12.                 text: 'My first Highcharts chart'  
  13.             },  
  14.             xAxis: {  
  15.                 categories: ['my', 'first', 'chart']  
  16.             },  
  17.             yAxis: {  
  18.                 title: {  
  19.                     text: 'something'  
  20.                 }  
  21.             },  
  22.             series: [{  
  23.                 name: 'Jane',  
  24.                 data: [1, 0, 4]  
  25.             }, {  
  26.                 name: 'John',  
  27.                 data: [5, 7, 3]  
  28.             }]  
  29.         });  
  30.     });  
  31.    </script>  
  32. </head>  
  33.       
  34. <body>  
  35.    <div id="container" style="min-width:800px;height:400px;"></div>  
  36. </body>  
  37. </html>  
 
再细节的东西我就不详细说了,只要大家去它的中文网看一下,就一清二楚了。
    D3.js除了用强大来形容,就不知道怎么去来表达它的厉害之处了。高效,库里面的组件真的眼花缭乱。继续截图。
 
例子1:
 
例子2:
 
    
 
例子3:
 
总而言之,我记得D3.js是有书可以买的。如果能把此框架用好,定能独当一面啊。
想知道详情的可以看官网:http://d3js.org/
 

3.echarts

echarts不是外国的,是国内百度团队的产物。总所周知,百度统计做得挺不错的。他们这个echarts也算是用到淋漓尽致。社区也算比较活跃,例子也十分多,实用一样方便。
下面还是截图加举例吧。
 
最后一张截图的js展示:
 
[javascript] view plain copy
  1. option = {  
  2.     title : {  
  3.         text: '浏览器占比变化',  
  4.         subtext: '纯属虚构',  
  5.         x:'right',  
  6.         y:'bottom'  
  7.     },  
  8.     tooltip : {  
  9.         trigger: 'item',  
  10.         formatter: "{a} <br/>{b} : {c} ({d}%)"  
  11.     },  
  12.     legend: {  
  13.         orient : 'vertical',  
  14.         x : 'left',  
  15.         data:['Chrome','Firefox','Safari','IE9+','IE8-']  
  16.     },  
  17.     toolbox: {  
  18.         show : true,  
  19.         feature : {  
  20.             mark : {show: true},  
  21.             dataView : {show: true, readOnly: false},  
  22.             restore : {show: true},  
  23.             saveAsImage : {show: true}  
  24.         }  
  25.     },  
  26.     calculable : false,  
  27.     series : (function (){  
  28.         var series = [];  
  29.         for (var i = 0; i < 30; i++) {  
  30.             series.push({  
  31.                 name:'浏览器(数据纯属虚构)',  
  32.                 type:'pie',  
  33.                 itemStyle : {normal : {  
  34.                     label : {show : i > 28},  
  35.                     labelLine : {show : i > 28, length:20}  
  36.                 }},  
  37.                 radius : [i * 4 + 40, i * 4 + 43],  
  38.                 data:[  
  39.                     {value: i * 128 + 80,  name:'Chrome'},  
  40.                     {value: i * 64  + 160,  name:'Firefox'},  
  41.                     {value: i * 32  + 320,  name:'Safari'},  
  42.                     {value: i * 16  + 640,  name:'IE9+'},  
  43.                     {value: i * 8  + 1280, name:'IE8-'}  
  44.                 ]  
  45.             })  
  46.         }  
  47.         series[0].markPoint = {  
  48.             symbol:'emptyCircle',  
  49.             symbolSize:series[0].radius[0],  
  50.             effect:{show:true,scaleSize:12,color:'rgba(250,225,50,0.8)',shadowBlur:10,period:30},  
  51.             data:[{x:'50%',y:'50%'}]  
  52.         };  
  53.         return series;  
  54.     })()  
  55. };  
  56. setTimeout(function (){  
  57.     var _ZR = myChart.getZrender();  
  58.     var TextShape = require('zrender/shape/Text');  
  59.     // 补充千层饼  
  60.     _ZR.addShape(new TextShape({  
  61.         style : {  
  62.             x : _ZR.getWidth() / 2,  
  63.             y : _ZR.getHeight() / 2,  
  64.             color: '#666',  
  65.             text : '恶梦的过去',  
  66.             textAlign : 'center'  
  67.         }  
  68.     }));  
  69.     _ZR.addShape(new TextShape({  
  70.         style : {  
  71.             x : _ZR.getWidth() / 2 + 200,  
  72.             y : _ZR.getHeight() / 2,  
  73.             brushType:'fill',  
  74.             color: 'orange',  
  75.             text : '美好的未来',  
  76.             textAlign : 'left',  
  77.             textFont:'normal 20px 微软雅黑'  
  78.         }  
  79.     }));  
  80.     _ZR.refresh();  
  81. }, 2000);  
 
这个框架的参考网址是: http://echarts.baidu.com/index.html
 
如果没有用过图表表达数据和关系的话,就赶快试试这3款好用的框架吧。
 
 
 

大数据时代的图表可视化利器——highcharts,D3和百度的echarts的更多相关文章

  1. ECharts – 大数据时代,重新定义数据图表

    ECharts 基于 Canvas 的纯 Javascript 图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算.数据视图.值域漫游等特性大大增强了用户体验,赋予了用户对 ...

  2. (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 决策树分析算法)

    随着大数据时代的到来,数据挖掘的重要性就变得显而易见,几种作为最低层的简单的数据挖掘算法,现在利用微软数据案例库做一个简要总结. 应用场景介绍 其实数据挖掘应用的场景无处不在,很多的环境都会应用到数据 ...

  3. 跟上节奏 大数据时代十大必备IT技能(转)

    新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT发展趋势,使得IT人必须了解甚至掌握最 ...

  4. 跟上节奏 大数据时代十大必备IT技能

    跟上节奏 大数据时代十大必备IT技能 新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT ...

  5. 大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 聚类分析算法)

    原文:(原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 聚类分析算法) 本篇文章主要是继续上一篇Microsoft决策树分析算法后,采用另外一种分析算法对目标顾客群体的挖掘 ...

  6. 大数据时代,银行BI应用的方案探讨

    大数据被誉为21世纪发展创造的新动力,BI(商业智能)成为当下最热门的数据应用方案.据资料显示:当前中国大数据IT投资最高的为五个行业中,互联网最高.其次是电信.金融.政府和医疗.而在金融行业中,银行 ...

  7. 大数据时代,IT行业竟有如此多高薪职位!

    近年来云计算.大数据.BYOD.社交媒体.3D打印机.物联网……在互联网时代,各种新词层出不穷,令人应接不暇.这些新的技术.新兴应用和对应的IT发展趋势,使得IT人必须了解甚至掌握最新的IT技能. 另 ...

  8. 大数据时代的IT架构设计

    大数据时代的IT架构设计(来自互联网.银行等领域的一线架构师先进经验分享) IT架构设计研究组 编著   ISBN 978-7-121-22605-2 2014年4月出版 定价:49.00元 208页 ...

  9. 新书发布《大数据时代的IT架构设计》

    <大数据时代的IT架构设计>以大数据时代为背景,邀请著名企业中的一线架构师,结合工作中的实际案例展开与架构相关的讨论.<大数据时代的IT架构设计>作者来自互联网.教育.传统行业 ...

随机推荐

  1. python中的异常

    Python提供了两个非常重要的功能来处理异常和错误: 1) 异常处理try-.except 2) 断言assert 异常和断言,可以用于我们调试python程序,跟踪程序执行状态,尽快排查问题. 3 ...

  2. python 模块之lxml 防xss攻击

    Use lxml.html.clean! It's VERY easy! from lxml.html.clean import clean_html print clean_html(html) S ...

  3. 认识容器和Docker(一)

    前言: 这句话应该是开发人员经常挂在嘴边的吧! “在我的机器上是正常工作的啊,MD,怎么到你这就不行了?” 开发人员就会联想到: 1. 肯定是你环境有问题: 2. 要么就是你个傻*不会用吧: 带着这句 ...

  4. Javapoet源码解析

    Javapoet:是生成.java源文件的开源API  github:https://github.com/square/javapoet   以生成一个HelloWrold.java文件为例: pa ...

  5. 如何优雅地在 Spring Boot 中使用自定义注解,AOP 切面统一打印出入参日志 | 修订版

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  6. 基于ZigBee模块与51单片机之间的简化智能家居项目简介(学生版本)

    5月份学校举行比赛,我们团队报名<智能家居>的项目,设计的总体思路用:QT写的上位机与ZigBee无线通信加51作为终端的简易版智能家居 电路连接:PC机->cc2530(协调器)- ...

  7. headfirst设计模式(9)—模板方法模式

    前言 这一章的模板方法模式,个人感觉它是一个简单,并且实用的设计模式,先说说它的定义: 模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式.让子类别在不改变算法架构的情况下, ...

  8. 搭建基于SornaQube的自动化安全代码检测平台

    一.背景和目的 近年来,随着新业务.新技术的快速发展,应用软件安全缺陷层出不穷.虽然一般情况下,开发者基本都会有单元测试.每日构建.功能测试等环节来保证应用的可用性.但在安全缺陷方面,缺乏安全意识.技 ...

  9. 关于thinkphp5手动抛出Http异常时自定义404页面报错的问题

    在使用HttpException手动抛出异常时,希望跳转到自定义的错误页面,官方的文章中是这样描述的. 可以使用\think\exception\HttpException类来抛出异常 // 抛出 H ...

  10. Oracle数据库升级注意事项

    1 备份配置参数 数据库升级前的配置参数要备份,如PGA大小 这样数据库升级后还可以升级前的配置,而不至于使用安装升级时的默认配置 2 检查版本兼容 确认数据库升级后是否对生产环境上的代码有影响,如果 ...