标签:百度 csdn echarts zrender 数据可视化
总体规划
(5)解读EChartsAPI
5.1 名词解释
基本名词
| 名词 | 描述 |
|---|---|
| chart | 是指一个完整的图表,如折线图,饼图等“基本”图表类型或由基本图表组合而成的“混搭”图表,可能包括坐标轴、图例等 |
| axis | 直角坐标系中的一个坐标轴,坐标轴可分为类目轴和数值轴 |
| xAxis | 直角坐标系中的横轴,通常并默认为类目轴 |
| yAxis | 直角坐标系中的纵轴,通常并默认为数值轴 |
| grid | 直角坐标系中除坐标轴外的绘图网格 |
| legend | 图例,表述数据和图形的关联 |
| dataRange | 值域选择,常用于展现地域数据时选择值域范围 |
| dataZoom | 数据区域缩放,常用于展现大数据时选择可视范围 |
| toolbox | 辅助工具箱,辅助功能,如添加标线,框选缩放等 |
| tooltip | 气泡提示框,常用于展现更详细的数据 |
| timeline | 时间轴,常用于展现同一组数据在时间维度上的多份数据 |
| series | 数据系列,一个图表可能包含多个系列,每一个系列可能包含多个数据 |
| 名词 | 描述 |
|---|---|
| line | 折线图,堆积折线图,区域图,堆积区域图。 |
| bar | 柱形图(纵向),堆积柱形图,条形图(横向),堆积条形图。 |
| scatter | 散点图,气泡图。散点图至少需要横纵两个数据,更高维度数据加入时可以映射为颜色或大小,当映射到大小时则为气泡图 |
| k | K线图,蜡烛图。常用于展现股票交易数据。 |
| pie | 饼图,圆环图。饼图支持两种(半径、面积)南丁格尔玫瑰图模式。 |
| radar | 雷达图,填充雷达图。高维度数据展现的常用图表。 |
| chord | 和弦图。常用于展现关系数据,外层为圆环图,可体现数据占比关系,内层为各个扇形间相互连接的弦,可体现关系数据 |
| force | 力导布局图。常用于展现复杂关系网络聚类布局。 |
| map | 地图。内置世界地图、中国及中国34个省市自治区地图数据、可通过标准GeoJson扩展地图类型。支持svg扩展类地图应用,如室内地图、运动场、物件构造等。 |
(6)引入Echarts的方式
echarts提供多种引入方式,请根据你的项目类型选择合适的方式:
6.1 模块化包引入
需要注意的是,包引入提供了开发阶段最大的灵活性,但并不适合直接上线,减少请求的文件数量是前端性能优化中最基本但很重要的规则,务必在上线时做文件的连接压缩
//from echarts example
require.config({
packages: [
{
name: 'echarts',
location: '../../src',
main: 'echarts'
},
{
name: 'zrender',
location: '../../../zrender/src', // zrender与echarts在同一级目录
main: 'zrender'
}
]
});6.2 模块化单文件引入 配置如下:
//from echarts example
require.config({
paths:{
'echarts':'./js/echarts',
'echarts/chart/bar' : './js/echarts', // 把所需图表指向单文件
'echarts/chart/line': './js/echarts'
}
});require.config配置后后就可以通过动态加载使用echarts。
//from echarts example
require(
[
'echarts',
'echarts/chart/line', // 按需加载所需图表
'echarts/chart/bar'
],
function (ec) {
var myChart = ec.init(domMain);
var option = {
...
}
myChart.setOption(option);
}
);//from echarts example
<script src="example/www2/js/echarts-plain.js"></script>
<script>
var myChart = echarts.init(domMain);
var option = {
...
}
myChart.setOption(option);
</script>
柱状图和折线图的混搭 (02系列)
具体步骤:
7.1
下载ECharts地址: http://echarts.baidu.com/
下载ZRender地址:http://ecomfe.github.io/zrender/index.html
7.2
下载ECharts完成后,解压文件,如下图:
选择进入doc文件夹内,如图选择example:
然后再选择www文件夹:
在www文件中选择js文件夹:
其中有三个js文件,需要引入到包:
(1 echarts.js
(2 esl.js :
(3 echarts-map.js
7.3
将js文件夹拷贝出来,在相同的路径下建一个html文件。
beijing.html 代码如下,包含详细注释:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>高考2006-2014</title>
<!--引入一个模块加载器,如esl.js或者require.js-->
<script src="js/esl.js"></script>
</head>
<body>
<!--准备一个高为500px 宽为浏览器页面的大小的图标容器的, 也可以设为指定值 如:height:500px;width:800px; -->
<div id="main" style="height:500px;border:1px solid #ccc;padding:10px;"></div>
<div id="mainMap" style="height:500px;border:1px solid #ccc;padding:10px;"></div>
<script type="text/javascript">
// 为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需图表路径
//同时加载了地图map,方便后期使用
require.config({
paths:{
echarts:'./js/echarts', //echarts.js的路径
'echarts/chart/bar' : './js/echarts-map',
'echarts/chart/line': './js/echarts-map',
'echarts/chart/map' : './js/echarts-map'
}
});
// 动态加载echarts然后在回调函数中开始使用,注意保持按需加载结构定义图表路径
require(
[
'echarts',
'echarts/chart/bar',
'echarts/chart/line',
'echarts/chart/map'
],
function (ec) {
//图表渲染的容器对象
var myChart = ec.init(document.getElementById('main'));
myChart.setOption({
//图表标题
title:{
text:"北京市历年高考报名人数",
subtext:"数据来于新浪高考频道",
//正标题属性设置
textStyle:{
fontSize:18
},
//副标题属性设置
subtextStyle:{
fontSize:12
}
},
//数据提示框配置
tooltip : {
trigger: 'axis' //触发类型,默认触发类型,可选项('item'|'axis')也就是是否共享提示框
},
//图例配置
legend: {
//data:['报名人数','录取人数','报录比例'] //设置图例,每个图表最多仅有一个图例
orient: 'horizontal', // 'vertical'
x: 'center', // 'center' | 'left' | {number},
y: 'top', // 'center' | 'bottom' | {number}
backgroundColor: '#eee',
//borderColor: 'rgba(178,34,34,0.8)', //rgb(0,0,0,0)为默认值
borderWidth: 4,
padding: 10, // [5, 10, 15, 20]
itemGap: 20,
//textStyle: {color: 'red'},
selected: {
'报名人数' : true,
'录取人数' : true,
'录取比例' : true
},
data: [
{
name:'录取比例',
textStyle:{fontWeight:'bold', color:'green'} //修改每一个
},
'报名人数','录取人数'
]
},
//工具箱配置
toolbox: {
show : true, //是否显示工具箱
feature : { //特征
mark : {show: true}, //辅助线标志
dataView : {show: true, readOnly: false}, //数据视图
magicType : {show: true, type: ['line', 'bar']}, //图表类型切换 line:折线图 bar:柱状图
restore : {show: true}, //还原,复位原始图表
saveAsImage : {show: true} //保持文件,图片格式
}
},
calculable : true,
//X轴设置
xAxis : [
{
type : 'category',
name:'年份',
data : ['2006','2007','2008','2009','2010','2011','2012','2013','2014']
}
],
//Y轴设置
yAxis : [
{
type : 'value',
axisLabel:{
formatter:'{value} 万'
},
//name:'人数',
splitArea : {show : true} //分隔区域,默认不显示,属性show控制显示与否
},
//录取比例
{
type:'value',
name : '录取比例',
axisLabel : {
formatter: '{value} %'
}
}
],
//图表Series数据序列配置
series : [
{
name:'报名人数',
type:'bar',
//与横坐标对应 2006、2007、...、2014
data:[10.03, 10.99, 10.37, 10.10, 8.10, 7.60, 7.30, 7.27, 7.05],
//系列中的数据标注内容 series.markPoint
markPoint:{
data:[
{type:'max',name:'最大值'},
{type:'min',name:'最小值'}
]
},
//系列中的数据标线内容 series.markLine
markLine:{
data:[
{type:'average',name:'平均值'}
]
}
},
{
name:'录取人数',
type:'bar',
//2014年录取人数还未出来
data:[8.00, 8.09, 8.98, 8.03, 6.79, 6.54, 5.88, 5.88, ],
markPoint:{
data:[
{type:'max',name:'最大值'},
{type:'min',name:'最小值'}
]
},
markLine:{
data:[
{type:'average',name:'平均值'}
]
}
},
{
name:'录取比例',
type:'line',
yAxisIndex: 1,
data:[72.53,73.61,86.59,79.51,83.83,86.05,80.55,80.88],
markLine:{
data:[
{type:'average',name:'平均值'}
]
}
}
]
});
}
);
</script>
</body>
</html>CSDN开源夏令营 百度数据可视化实践 ECharts(1),布布扣,bubuko.com
CSDN开源夏令营 百度数据可视化实践 ECharts(1)
标签:百度 csdn echarts zrender 数据可视化
原文地址:http://blog.csdn.net/u013476464/article/details/37652619