大数据时代的图表可视化利器——highcharts,D3和百度的echarts
时间:2019-03-14
本文章向大家介绍大数据时代的图表可视化利器——highcharts,D3和百度的echarts,主要包括大数据时代的图表可视化利器——highcharts,D3和百度的echarts使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
大数据时代的图表可视化利器——highcharts,D3和百度的echarts
还记得阿里巴巴那个令人澎湃激情的双十一吗?还记得淘宝生动形象地把你的的消费历程一一地展示给你看吗?还记得那些酷炫拽的it报告图表吗?在这个大数据越来越盛行的年代,怎样去表达一些用户的关系,人物的关联,甚至是事情的发展,都让我们有更多的表达方式。其中最简单直接,形象明了的就是用图表说明问题了。
如果在以前,要实现各种图表,可能很多人会选择flash。但是flash成本较高,图表多的时候很耗性能。后来越来越多的纯js框架出现,让大家有了更多的选择。所以接下来我想推荐几个不错的图表js框架给大家用。
1.highcharts
这是一个本人认为很好用,同时很多童鞋在用的一个框架。这个框架的中国社区的童鞋,比较积极地维护和不断更新着好多实例。如果使用这个框架,往往能在丰富的例子找到类似的表达样图。推荐程度4个星啊。截几个图给大家看看。
实用起来也很简单方便,例如你可以这样实现:
[html] view plain copy
-
<html>
-
<head>
-
<script type="text/javascript" src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js"></script>
-
<script type="text/javascript" src="http://cdn.hcharts.cn/highcharts/4.0.1/highcharts.js"></script>
-
<script>
-
$(function () {
-
$('#container').highcharts({
-
chart: {
-
type: 'column'
-
},
-
title: {
-
text: 'My first Highcharts chart'
-
},
-
xAxis: {
-
categories: ['my', 'first', 'chart']
-
},
-
yAxis: {
-
title: {
-
text: 'something'
-
}
-
},
-
series: [{
-
name: 'Jane',
-
data: [1, 0, 4]
-
}, {
-
name: 'John',
-
data: [5, 7, 3]
-
}]
-
});
-
});
-
</script>
-
</head>
-
-
<body>
-
<div id="container" style="min-width:800px;height:400px;"></div>
-
</body>
-
</html>
再细节的东西我就不详细说了,只要大家去它的中文网看一下,就一清二楚了。
D3.js除了用强大来形容,就不知道怎么去来表达它的厉害之处了。高效,库里面的组件真的眼花缭乱。继续截图。
例子1:
例子2:
例子3:
总而言之,我记得D3.js是有书可以买的。如果能把此框架用好,定能独当一面啊。
想知道详情的可以看官网:http://d3js.org/
3.echarts
echarts不是外国的,是国内百度团队的产物。总所周知,百度统计做得挺不错的。他们这个echarts也算是用到淋漓尽致。社区也算比较活跃,例子也十分多,实用一样方便。
下面还是截图加举例吧。
最后一张截图的js展示:
[javascript] view plain copy
-
option = {
-
title : {
-
text: '浏览器占比变化',
-
subtext: '纯属虚构',
-
x:'right',
-
y:'bottom'
-
},
-
tooltip : {
-
trigger: 'item',
-
formatter: "{a} <br/>{b} : {c} ({d}%)"
-
},
-
legend: {
-
orient : 'vertical',
-
x : 'left',
-
data:['Chrome','Firefox','Safari','IE9+','IE8-']
-
},
-
toolbox: {
-
show : true,
-
feature : {
-
mark : {show: true},
-
dataView : {show: true, readOnly: false},
-
restore : {show: true},
-
saveAsImage : {show: true}
-
}
-
},
-
calculable : false,
-
series : (function (){
-
var series = [];
-
for (var i = 0; i < 30; i++) {
-
series.push({
-
name:'浏览器(数据纯属虚构)',
-
type:'pie',
-
itemStyle : {normal : {
-
label : {show : i > 28},
-
labelLine : {show : i > 28, length:20}
-
}},
-
radius : [i * 4 + 40, i * 4 + 43],
-
data:[
-
{value: i * 128 + 80, name:'Chrome'},
-
{value: i * 64 + 160, name:'Firefox'},
-
{value: i * 32 + 320, name:'Safari'},
-
{value: i * 16 + 640, name:'IE9+'},
-
{value: i * 8 + 1280, name:'IE8-'}
-
]
-
})
-
}
-
series[0].markPoint = {
-
symbol:'emptyCircle',
-
symbolSize:series[0].radius[0],
-
effect:{show:true,scaleSize:12,color:'rgba(250,225,50,0.8)',shadowBlur:10,period:30},
-
data:[{x:'50%',y:'50%'}]
-
};
-
return series;
-
})()
-
};
-
setTimeout(function (){
-
var _ZR = myChart.getZrender();
-
var TextShape = require('zrender/shape/Text');
-
// 补充千层饼
-
_ZR.addShape(new TextShape({
-
style : {
-
x : _ZR.getWidth() / 2,
-
y : _ZR.getHeight() / 2,
-
color: '#666',
-
text : '恶梦的过去',
-
textAlign : 'center'
-
}
-
}));
-
_ZR.addShape(new TextShape({
-
style : {
-
x : _ZR.getWidth() / 2 + 200,
-
y : _ZR.getHeight() / 2,
-
brushType:'fill',
-
color: 'orange',
-
text : '美好的未来',
-
textAlign : 'left',
-
textFont:'normal 20px 微软雅黑'
-
}
-
}));
-
_ZR.refresh();
-
}, 2000);
这个框架的参考网址是: http://echarts.baidu.com/index.html
如果没有用过图表表达数据和关系的话,就赶快试试这3款好用的框架吧。
- 一个 tflearn 情感分析小例子
- 前端js,后台python实现RSA非对称加密
- 运行mysql时,提示Table ‘performance_schema.session_variables’ doesn’t exist
- ODL应用开发之MD-SAL中级教程
- Sql参数是一个list的最佳实践
- MyBatis 配置输出日志,不输出SQL问题解决
- lombok让你提高代码整洁度的神器附教程及原理分析
- mvn编译的时候一个破错误,google只有3个结果maven : Failed to install metadata project Could not parse metadata maven-
- 读书|《Mastering Machine Learning with Python in Six Steps》
- 几种简单的文本数据预处理方法
- Fiddler中显示IP方法
- readlink: command not found 解决方案
- Java 并发编程系列: CountDownLatch (上厕所的案例)
- 详解ANGULAR2组件中的变化检测机制(对比ANGULAR1的脏检测)
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例
- Java——try catch finally异常的捕获及处理逻辑实例详解大全
- Java——String类使用详解(实例化、字符串比较、匿名对象、两种实例化方法的区别)
- Java——数组的定义与使用(基本概念、引用分析、初始化方式、二维数组、对象数组)
- Java——单例设计模式
- Java——包的定义及使用
- Java——Object类(基本概念、toString()方法、equals()方法、可以接收所有引用类型)
- JavaWeb——MyBatis框架之对数据库的增删改查操作CRUD实践及MyBatis参数的深入详解
- JavaWeb——MyBatis框架之入门总结及案例实战,常见坑处理:Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0
- JavaWeb——MyBatis框架之执行过程原理与解析(通过自定义MyBatis查询所有操作的实现来观察整个过程)
- Java——抽象类(基本概念、使用原则、模板设计模式)
- Java——覆写(概念、覆写的意义、覆写的要求)
- Java——继承性(继承的作用、实现、限制)
- JavaWeb——JSON语法讲解与Jackson解析器完成JSON数据与Java对象的转换(应用Ajax与JSON实现校验用户名是否在的功能)
- JavaWeb——JQuery之高级案例实战(打开网页自动弹出广告效果、抽奖效果实现)
- JavaWeb——JQuery之高级操作应用及实践案例总结(动画、遍历、事件绑定)