入门教程 ( Getting started ) » Any feedback or question ? »
支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、力导向布局图、地图、仪表盘、漏斗图、事件河流图等12类图表,同时提供标题,详情气泡、图例、值域、数据区域、时间轴、工具箱等7个可交互组件,支持多图表、组件的联动和混搭展现。
需要注意的是,包引入提供了开发阶段最大的灵活性,但并不适合直接上线,减少请求的文件数量是前端性能优化中最基本但很重要的规则,务必在上线时做文件的连接压缩。
//from echarts example require.config({ packages: [ { name: 'echarts', location: '../../src', main: 'echarts' }, { name: 'zrender', location: '../../../zrender/src', // zrender与echarts在同一级目录 main: 'zrender' } ] });
采用单一文件使用例子见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.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>
可以直接引入的单文件如下:
引入ECharts后的的初始化代码如下:
// 作为入口 require( [ 'echarts', 'echarts/chart/pie' ], function (ec) { var myChart = ec.init(document.getElementById('main')); myChart.setOption({...}); } ); // ----------------------------- // 非入口或再次使用,图表已被加载注册 require('echarts').init(dom).setOption({...}); // 如果需要再次使用ECharts的图表实例,建议你还是保存init返回的图表实例吧 var myChart = require('echarts').init(dom); myChart.setOption({...});
熟悉模块化的你可以跳过了下面代码了
// 不习惯模块化的你当然可以 var echarts; require(['echarts'], function (ec){ echarts = ec; }); // 是的,把echarts加载后保存起来作为命名空间使用
myCharts.setOption({ timeline : {...}, options : [ { // option1 title : {...}, series : [...] }, {...}, // option2 ... ] });{Object} getOption {void} 返回内部持有的当前显示option克隆(拷贝)。 {self} setSeries {Array} series,
名称 | 默认值 | 描述 |
---|---|---|
{boolean} show | true | 显示策略,可选为:true(显示) | false(隐藏) |
{number} zlevel | 0 | 一级层叠控制。每一个不同的zlevel将产生一个独立的canvas,相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层,canvas对象增多会消耗更多的内存和性能,并不建议设置过多的zlevel,大部分情况可以通过二级层叠控制z实现层叠控制。 |
{number} z | 4 | 二级层叠控制,同一个canvas(相同zlevel)上z越高约靠顶层。 |
{string} type | 'time' | 模式是时间类型,时间轴间隔根据时间跨度自动计算,可选为:'number' |
{boolean} notMerge | false | 时间轴上多个option切换时是否进行merge操作,同setOption第二个参数(详见实例方法) |
{boolean} realtime | true | 拖拽或点击改变时间轴是否实时显示,在不支持Canvas的浏览器中该值自动强制置为false |
{number | string} x | 80 | 时间轴左上角横坐标,数值单位px,支持百分比(字符串),如'50%'(显示区域横向中心) |
{number | string} y | null | 时间轴左上角纵坐标,数值单位px,支持百分比(字符串),默认无,随y2定位,如'50%'(显示区域纵向中心) |
{number | string} x2 | 80 | 时间轴右下角横坐标,数值单位px,支持百分比(字符串),如'50%'(显示区域横向中心) |
{number | string} y2 | 0 | 时间轴右下角纵坐标,数值单位px,支持百分比(字符串),如'50%'(显示区域纵向中心) |
{number} width | 自适应 | 时间轴宽度,默认为总宽度 - x - x2,数值单位px,指定width后将忽略x2。见下图。
支持百分比(字符串),如'50%'(显示区域一半的宽度) |
{number} height | 50 | 时间轴高度,数值单位px,支持百分比(字符串),如'50%'(显示区域一半的高度) |
{color} backgroundColor | 'rgba(0,0,0,0)' | 背景颜色,默认透明。 |
{number} borderWidth | 0 | 边框线宽 |
{color} borderColor | '#ccc' | 边框颜色。 |
{number | Array} padding | 5 | 内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距,同css,见下图 |
{string} controlPosition | 'left' | 播放控制器位置,可选为:'left' | 'right' | 'none' |
{boolean} autoPlay | false | 是否自动播放 |
{boolean} loop | true | 是否循环播放 |
{number} playInterval | 2000 | 播放时间间隔,单位ms |
{Object} lineStyle | { color: '#666', width: 1, type: 'dashed' } |
时间轴轴线样式,lineStyle控制线条样式,(详见lineStyle) |
{Object} label | { show: true, interval: 'auto', rotate: 0, formatter: null, textStyle: { color: '#333' } } |
时间轴标签文本 show : 是否显示 interval : 挑选间隔,默认为'auto',可选为:'auto'(自动隐藏显示不下的) | 0(全部显示) | {number} rotate : 旋转角度,默认为0,不旋转,正值为逆时针,负值为顺时针,可选为:-90 ~ 90 formatter : 间隔名称格式器:{string}(Template) | {Function} textStyle : 文字样式(详见textStyle) |
{Object} checkpointStyle | { symbol : 'auto', symbolSize : 'auto', color : 'auto', borderColor : 'auto', borderWidth : 'auto', label: { show: false, textStyle: { color: 'auto' } } } |
时间轴当前点 symbol : 当前点symbol,默认随轴上的symbol symbolSize : 当前点symbol大小,默认随轴上symbol大小 color : 当前点symbol颜色,默认为随当前点颜色,可指定具体颜色,如无则为'#1e90ff' borderColor : 当前点symbol边线颜色 borderWidth : 当前点symbol边线宽度 label同上 |
{Object} controlStyle | { itemSize: 15, itemGap: 5, normal : { color : '#333' }, emphasis : { color : '#1e90ff' } } |
时间轴控制器样式,可指定itemSize按钮大小,itemGap按钮间隔,normal.color正常和emphasis.color高亮颜色 |
{string} symbol | 'emptyDiamond' | 轴点symbol,同serie.symbol |
{number} symbolSize | 4 | 轴点symbol,同serie.symbolSize |
{number} currentIndex | 0 | 当前索引位置,对应options数组,用于指定显示特定系列 |
{Array} data | [] | 时间轴列表,同时也是轴label内容 |
{ color: '#aaa' }副标题文本样式(详见textStyle)
名称 | 默认值 | 描述 |
---|---|---|
{boolean} show | false | 显示策略,可选为:true(显示) | false(隐藏) |
{number} zlevel | 0 | 一级层叠控制。每一个不同的zlevel将产生一个独立的canvas,相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层,canvas对象增多会消耗更多的内存和性能,并不建议设置过多的zlevel,大部分情况可以通过二级层叠控制z实现层叠控制。 |
{number} z | 6 | 二级层叠控制,同一个canvas(相同zlevel)上z越高约靠顶层。 |
{string} orient | 'horizontal' | 布局方式,默认为水平布局,可选为:'horizontal' | 'vertical' |
{string | number} x | 'right' | 水平安放位置,默认为全图居中,可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px) |
{string | number} y | 'top' | 垂直安放位置,默认为全图顶端,可选为:'top' | 'bottom' | 'center' | {number}(y坐标,单位px) |
{color} backgroundColor | 'rgba(0,0,0,0)' | 工具箱背景颜色,默认透明 |
{color} borderColor | '#ccc' | 工具箱边框颜色 |
{number} borderWidth | 0 | 工具箱边框线宽,单位px,默认为0(无边框) |
{number | Array} padding | 5 | 工具箱内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距,同css,见下图 |
{number} itemGap | 10 | 各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔,见下图 |
{number} itemSize | 16 | 工具箱icon大小,单位(px) |
{Array <color>} color | ['#1e90ff','#22bb22','#4b0082','#d2691e'] | 工具箱icon颜色序列,循环使用,同时支持在具体feature内指定color |
{color} disableColor | '#ddd' | 禁用颜色定义 |
{color} effectiveColor | 'red' | 生效颜色定义 |
{boolean} showTitle | true | 是否显示工具箱文字提示,默认启用 |
{Object} textStyle | {} | 工具箱提示文字样式,(详见textStyle) |
{Object} feature | { mark : { show : false, title : { mark : '辅助线开关', markUndo : '删除辅助线', markClear : '清空辅助线' }, lineStyle : { width : 2, color : '#1e90ff', type : 'dashed' } }, dataZoom : { show : false, title : { dataZoom : '区域缩放', dataZoomReset : '区域缩放后退' } }, dataView : { show : false, title : '数据视图', readOnly: false, lang: ['数据视图', '关闭', '刷新'] }, magicType: { show : false, title : { line : '折线图切换', bar : '柱形图切换', stack : '堆积', tiled : '平铺', force: '力导向布局图切换', chord: '和弦图切换', pie: '饼图切换', funnel: '漏斗图切换' }, option: { // line: {...}, // bar: {...}, // stack: {...}, // tiled: {...}, // force: {...}, // chord: {...}, // pie: {...}, // funnel: {...} }, type : [] }, restore : { show : false, title : '还原' }, saveAsImage : { show : false, title : '保存为图片', type : 'png', lang : ['点击保存'] } } |
启用功能,目前支持feature见下,工具箱自定义功能回调处理,见try this »
|
名称 | 默认值 | 描述 |
---|---|---|
{boolean} show | true | 显示策略,可选为:true(显示) | false(隐藏) |
{number} zlevel | 1 | 一级层叠控制。每一个不同的zlevel将产生一个独立的canvas,相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层,canvas对象增多会消耗更多的内存和性能,并不建议设置过多的zlevel,大部分情况可以通过二级层叠控制z实现层叠控制。 |
{number} z | 8 | 二级层叠控制,同一个canvas(相同zlevel)上z越高约靠顶层。 |
{boolean} showContent | true | tooltip主体内容显示策略,只需tooltip触发事件或显示axisPointer而不需要显示内容时可配置该项为false, 可选为:true(显示) | false(隐藏) |
{string} trigger | 'item' | 触发类型,默认数据触发,见下图,可选为:'item' | 'axis' |
{Array | Function} position | null | 位置指定,传入{Array},如[x, y], 固定位置[x, y];传入{Function},如function([x, y]) {return [newX,newY]},默认显示坐标为输入参数,用户指定的新坐标为输出返回。 |
{string | Function} formatter | null | 内容格式器:{string}(Template) | {Function},支持异步回调见表格下方 |
{string | Function} islandFormatter | '{a} < br/>{b} : {c}' | 拖拽重计算独有,数据孤岛内容格式器:{string}(Template) | {Function},见表格下方 |
{number} showDelay | 20 | 显示延迟,添加显示延迟可以避免频繁切换,特别是在详情内容需要异步获取的场景,单位ms |
{number} hideDelay | 100 | 隐藏延迟,单位ms |
{number} transitionDuration | 0.4 | 动画变换时长,单位s,如果你希望tooltip的跟随实时响应,showDelay设置为0是关键,同时transitionDuration设0也会有交互体验上的差别。 |
{boolean} enterable | false | 鼠标是否可进入详情气泡中,默认为false,如需详情内交互,如添加链接,按钮,可设置为true。 |
{color} backgroundColor | 'rgba(0,0,0,0.7)' | 提示背景颜色,默认为透明度为0.7的黑色 |
{string} borderColor | '#333' | 提示边框颜色 |
{number} borderRadius | 4 | 提示边框圆角,单位px,默认为4 |
{number} borderWidth | 0 | 提示边框线宽,单位px,默认为0(无边框) |
{number | Array} padding | 5 | 提示内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距,同css |
{Object} axisPointer | { type: 'line', lineStyle: { color: '#48b', width: 2, type: 'solid' }, crossStyle: { color: '#1e90ff', width: 1, type: 'dashed' }, shadowStyle: { color: 'rgba(150,150,150,0.3)', width: 'auto', type: 'default' } } |
坐标轴指示器,默认type为line,可选为:'line' | 'cross' | 'shadow' | 'none'(无),指定type后对应style生效,见下
lineStyle设置直线指示器(详见lineStyle), crossStyle设置十字准星指示器(详见lineStyle), shadowStyle设置阴影指示器(详见areaStyle),areaStyle.size默认为'auto'自动计算,可指定具体宽度 |
{Object} textStyle | { color:'#fff' } | 文本样式,默认为白色字体(详见textStyle) |
内容格式器formatter:try this »
[ { seriesIndex: 0, seriesName: '一周销量', name: '周一', dataIndex: 0, data: data, name: name, value: value, percent: special, // 饼图 indicator: special, // 雷达图、力导向、和弦 value2: special2, // 力导向、和弦 indicator2: special2 // 力导向、和弦 }, {..}, ... ]
触发类型:
item触发 | axis触发 |
---|---|
名称 | 默认值 | 描述 |
---|---|---|
{boolean} show | true | 显示策略,可选为:true(显示) | false(隐藏) |
{number} zlevel | 0 | 一级层叠控制。每一个不同的zlevel将产生一个独立的canvas,相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层,canvas对象增多会消耗更多的内存和性能,并不建议设置过多的zlevel,大部分情况可以通过二级层叠控制z实现层叠控制。 |
{number} z | 4 | 二级层叠控制,同一个canvas(相同zlevel)上z越高约靠顶层。 |
{string} orient | 'horizontal' | 布局方式,默认为水平布局,可选为:'horizontal' | 'vertical' |
{string | number} x | 'center' | 水平安放位置,默认为全图居中,可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px) |
{string | number} y | 'top' | 垂直安放位置,默认为全图顶端,可选为:'top' | 'bottom' | 'center' | {number}(y坐标,单位px) |
{color} backgroundColor | 'rgba(0,0,0,0)' | 图例背景颜色,默认透明 |
{string} borderColor | '#ccc' | 图例边框颜色 |
{number} borderWidth | 0 | 图例边框线宽,单位px,默认为0(无边框) |
{number | Array} padding | 5 | 图例内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距,同css,见下图 |
{number} itemGap | 10 | 各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔,见下图 |
{number} itemWidth | 20 | 图例图形宽度 |
{number} itemHeight | 14 | 图例图形高度 |
{Object} textStyle | {color: '#333'} | 默认只设定了图例文字颜色(详见textStyle) ,更个性化的是,要指定文字颜色跟随图例,可设color为'auto' |
{string | Function} formatter | null | 文本格式器:{string}(Template) | {Function},模板变量为'{name}',函数回调参数为name |
{boolean | string} selectedMode | true | 选择模式,默认开启图例开关,可选single,multiple |
{Object} selected | null | 配置默认选中状态,可配合LEGEND.SELECTED事件做动态数据载入,try this » |
{Array} data | [ ] | 图例内容数组,数组项通常为{string},每一项代表一个系列的name,默认布局到达边缘会自动分行(列),传入空字符串''可实现手动分行(列)。
使用根据该值索引series中同名系列所用的图表类型和itemStyle,如果索引不到,该item将默认为没启用状态。 如需个性化图例文字样式,可把数组项改为{Object},指定文本样式和个性化图例icon,格式为 { name : {string}, textStyle : {Object}, icon : {string} } |
名称 | 默认值 | 描述 |
---|---|---|
{boolean} show | true | 显示策略,可选为:true(显示) | false(隐藏) |
{number} zlevel | 0 | 一级层叠控制。每一个不同的zlevel将产生一个独立的canvas,相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层,canvas对象增多会消耗更多的内存和性能,并不建议设置过多的zlevel,大部分情况可以通过二级层叠控制z实现层叠控制。 |
{number} z | 4 | 二级层叠控制,同一个canvas(相同zlevel)上z越高约靠顶层。 |
{string} orient | 'vertical' | 布局方式,默认为垂直布局,可选为:'horizontal' | 'vertical' |
{string | number} x | 'left' | 水平安放位置,默认为全图左对齐,可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px) |
{string | number} y | 'bottom' | 垂直安放位置,默认为全图底部,可选为:'top' | 'bottom' | 'center' | {number}(y坐标,单位px) |
{color} backgroundColor | 'rgba(0,0,0,0)' | 值域控件背景颜色,默认透明 |
{string} borderColor | '#ccc' | 值域控件边框颜色 |
{number} borderWidth | 0 | 值域控件边框线宽,单位px,默认为0(无边框) |
{number | Array} padding | 5 | 值域控件内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距,同css,见下图 |
{number} itemGap | 10 | 各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔,见下图 |
{number} itemWidth | 20 | 值域控件图形宽度 |
{number} itemHeight | 14 | 值域控件图形高度 |
{number} min | null | 指定的最小值,eg: 0,默认无,必须参数,唯有指定了splitList时可缺省min。 |
{number} max | null | 指定的最大值,eg: 100,默认无,必须参数,唯有指定了splitList时可缺省max |
{number} precision | 0 | 小数精度,默认为0,无小数点,当 min ~ max 间在当前精度下无法整除splitNumber份时,精度会自动提高以满足均分,不支持不等划分 |
{number} splitNumber | 5 | 分割段数,默认为5,为0时为线性渐变,calculable为true是默认均分100份 |
{Array.<Object>} splitList | null |
自定义分割方式,支持不等距分割。splitList被指定时,splitNumber将被忽略。 splitList是一个(不可为空的)Array,Array的每一项为一个Object,含有如下属性: { start: 10 本项的数据范围起点(>=),如果不设置表示负无穷。 end: 30 本项的数据范围终点(<=),如果不设置表示正无穷。 如果想本项只对应一个值,那么start和end设同样的数就可以了。 label: '10 to 30' 本项的显示标签,缺省则自动生成label color: '#333' 本项的颜色,缺省则自动计算color } 详见例子 this 》 |
{Object} range | null |
用于设置dataRange的初始选中范围。calculable为true时有效。 其值型如:{start: 10, end: 50}。 |
{boolean | string} selectedMode | true | 选择模式,默认开启值域开关,可选single,multiple |
{boolean} calculable | false | 是否启用值域漫游,启用后无视splitNumber和splitList,值域显示为线性渐变 |
{boolean} hoverLink | true | 是否启用地图hover时的联动响应(详情披露) |
{boolean} realtime | true | 值域漫游是否实时显示,在不支持Canvas的浏览器中该值自动强制置为false。 |
{Array} color | ['#1e90ff','#f0ffff'] | 值域颜色标识,颜色数组长度必须>=2,颜色代表从数值高到低的变化,即颜色数组低位代表数值高的颜色标识 ,支持Alpha通道上的变化(rgba) |
{string | Function} formatter | null | 内容格式器:{string}(Template) | {Function},模板变量为'{value}'和'{value2}',代表数值起始值和结束值,函数参数两个,含义同模板变量,当calculable为true时模板变量仅有'{value}',try this » |
{Array} text | null | 值域文字显示,splitNumber生效时默认以计算所得数值作为值域文字显示,可指定长度为2的文本数组显示简介的值域文本,如['高', '低'],'\n'指定换行 |
{Object} textStyle | {color: '#333'} | 默认只设定了值域控件文字颜色(详见textStyle) |
名称 | 默认值 | 描述 |
---|---|---|
{number} zlevel | 0 | 一级层叠控制。每一个不同的zlevel将产生一个独立的canvas,相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层,canvas对象增多会消耗更多的内存和性能,并不建议设置过多的zlevel,大部分情况可以通过二级层叠控制z实现层叠控制。 |
{number} z | 4 | 二级层叠控制,同一个canvas(相同zlevel)上z越高约靠顶层。 |
{boolean} show | false | 是否显示,当show为true时则接管使用指定类目轴的全部系列数据,如不指定则接管全部直角坐标系数据。 |
{string} orient | 'horizontal' | 布局方式,默认为水平布局,可选为:'horizontal' | 'vertical' |
{number} x | 自适应 | 水平安放位置,默认为根据grid参数适配,纵向布局默认左侧,可指定 {number}(左上角x坐标,单位px) |
{number} y | 自适应 | 垂直安放位置,默认为根据grid参数适配,纵向布局默认下方,可指定 {number}(左上角y坐标,单位px) |
{number} width | 自适应 | 30 | 指定宽度,横向布局时默认为根据grid参数适配,纵向布局是默认为30,可指定 {number}(宽度,单位px) |
{number} height | 自适应 | 30 | 指定高度,纵向布局时默认为根据grid参数适配,横向布局是默认为30,可指定 {number}(高度,单位px) |
{color} backgroundColor | 'rgba(0,0,0,0)' | 背景颜色,默认透明 |
{color} dataBackgroundColor | '#eee' | 数据缩略背景颜色,仅以第一个系列的数据作为缩量图显示 |
{color} fillerColor | 'rgba(144,197,237,0.2)' | 选择区域填充颜色 |
{color} handleColor | 'rgba(70,130,180,0.8)' | 控制手柄颜色 |
{number} handleSize | 8 | 控制手柄大小 |
{Array | number} xAxisIndex | null | 当不指定时默认控制所有横向类目,可通过数组指定多个需要控制的横向类目坐标轴Index,仅一个时可直接为数字 |
{Array | number} yAxisIndex | null | 当不指定时默认控制所有纵向类目,可通过数组指定多个需要控制的纵向类目坐标轴Index,仅一个时可直接为数字 |
{number} start | 0 | 数据缩放,选择起始比例,默认为0(%),从首个数据起选择。 |
{number} end | 100 | 数据缩放,选择结束比例,默认为100(%),到最后一个数据选择结束。 |
{boolean} showDetail | true | 缩放变化是否显示定位详情。 |
{boolean} realtime | false | 缩放变化是否实时显示,在不支持Canvas的浏览器中该值自动强制置为false。 |
{boolean} zoomLock | false | 数据缩放锁,默认为false,当设置为true时选择区域不能伸缩,即(end - start)值保持不变,仅能做数据漫游。 |
名称 | 默认值 | 描述 |
---|---|---|
{boolean} show | true | 显示策略,可选为:true(显示) | false(隐藏)。 |
{number} zlevel | 0 | 一级层叠控制。每一个不同的zlevel将产生一个独立的canvas,相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层,canvas对象增多会消耗更多的内存和性能,并不建议设置过多的zlevel,大部分情况可以通过二级层叠控制z实现层叠控制。 |
{number} z | 4 | 二级层叠控制,同一个canvas(相同zlevel)上z越高约靠顶层。 |
{string | number} x | 'left' | 水平安放位置,默认为左侧,可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px) |
{string | number} y | 'top' | 垂直安放位置,默认为全图顶端,可选为:'top' | 'bottom' | 'center' | {number}(y坐标,单位px) |
{number} width | 80 | 指定宽度,决定4向漫游圆盘大小,可指定 {number}(宽度,单位px) |
{number} height | 120 | 指定高度,缩放控制键默认会在指定高度的最下方最大化显示,可指定 {number}(高度,单位px) |
{color} backgroundColor | 'rgba(0,0,0,0)' | 缩放漫游组件背景颜色,默认透明 |
{string} borderColor | '#ccc' | 缩放漫游组件边框颜色 |
{number} borderWidth | 0 | 缩放漫游组件边框线宽,单位px,默认为0(无边框) |
{number | Array} padding | 5 | 缩放漫游组件内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距,同css,见下图 |
{color} fillerColor | '#fff' | 漫游组件文字填充颜色 |
{color} handleColor | '#6495ed' | 控制手柄主体颜色 |
{number} step | 15 | 4向漫游移动步伐,单位px |
{Object} mapTypeControl | null | 必须,指定漫游组件可控地图类型,如:{ china: true } 当同一图表内同时呈现多个地图时,可以单独指定所需控制地图类型,如:{ china: false, '北京': true} |
坐标轴有三种类型,类目型、数值型和时间型(区别详见axis),横轴通常为类目型,但条形图时则横轴为数值型,散点图时则横纵均为数值型,具体参数详见axis。
坐标轴有三种类型,类目型、数值型和时间型(区别详见axis),纵轴通常为数值型,但条形图时则纵轴为类目型,具体参数详见axis。
名称 | 默认值 | 适用类型 | 描述 |
---|---|---|---|
{string} type | 'category' | 'value' | 'time' | 'log' | 通用 | 坐标轴类型,横轴默认为类目型'category',纵轴默认为数值型'value' |
{boolean} show | true | 通用 | 显示策略,可选为:true(显示) | false(隐藏) |
{number} zlevel | 0 | 通用 | 一级层叠控制。每一个不同的zlevel将产生一个独立的canvas,相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层,canvas对象增多会消耗更多的内存和性能,并不建议设置过多的zlevel,大部分情况可以通过二级层叠控制z实现层叠控制。 |
{number} z | 0 | 通用 | 二级层叠控制,同一个canvas(相同zlevel)上z越高约靠顶层。 |
{string} position | 'bottom' | 'left' | 通用 | 坐标轴类型,横轴默认为类目型'bottom',纵轴默认为数值型'left',可选为:'bottom' | 'top' | 'left' | 'right' |
{string} name | '' | 数值型,时间型 | 坐标轴名称,默认为空 |
{string} nameLocation | 'end' | 数值型,时间型 | 坐标轴名称位置,默认为'end',可选为:'start' | 'end' |
{Object} nameTextStyle | {} | 数值型,时间型 | 坐标轴名称文字样式,默认取全局配置,颜色跟随axisLine主色,可设 |
{boolean} boundaryGap | true | 类目型 | 类目起始和结束两端空白策略,见下图,默认为true留空,false则顶头 |
{Array} boundaryGap | [0, 0] | 数值型,时间型 | 坐标轴两端空白策略,数组内数值代表百分比,[原始数据最小值与最终最小值之间的差额,原始数据最大值与最终最大值之间的差额] |
{number} min | null | 数值型,时间型 | 指定的最小值,eg: 0,默认无,会自动根据具体数值调整,指定后将忽略boundaryGap[0] |
{number} max | null | 数值型,时间型 | 指定的最大值,eg: 100,默认无,会自动根据具体数值调整,指定后将忽略boundaryGap[1] |
{boolean} scale | false | 数值型,时间型 | 脱离0值比例,放大聚焦到最终_min,_max区间 |
{number} splitNumber | null | 数值型,时间型 | 分割段数,不指定时根据min、max算法调整 |
{number} logLabelBase | null | value | axis.type === 'log'时生效。指定时,axisLabel显示为指数形式,如指定为4时,axisLabel可显示为4²、4³。不指定时,显示为普通形式,如 1,000,000 |
{Object} logPositive | null | value | axis.type === 'log'时生效。指明是否使用反向log数轴(从而支持value为负值)。默认自适应,即如果value全为负值,则logPositive自动设为false,否则为true。 |
{Object} axisLine | 各异 | 通用 | 坐标轴线,默认显示,详见下方 |
{Object} axisTick | 各异 | 通用 | 坐标轴小标记,默认不显示,详见下方 |
{Object} axisLabel | 各异 | 通用 | 坐标轴文本标签,详见下方 |
{Object} splitLine | 各异 | 通用 | 分隔线,默认显示,,详见下方 |
{Object} splitArea | 各异 | 通用 | 分隔区域,默认不显示,详见下方 |
{Array} data | [] | 类目型 | 类目列表,同时也是label内容,详见axis.data |
boundaryGap端空白策略
设置 | boundaryGap: true | boundaryGap: false |
---|---|---|
效果 |
scale策略
设置 | scale: false | scale: true |
---|---|---|
效果 |
axis属性说明
间隔名称格式器formatter:
indicator : [ {text : '外观'}, {text : '拍照', min : 0}, {text : '系统', min : 0, max : 100}, {text : '性能', axisLabel: {...}}, {text : '屏幕'} ]
名称 | 默认值 | 描述 |
---|---|---|
{Array} initial | 强制指定节点的初始值,在不指定的时候会在某个范围内随机生成 | |
{boolean} fixX | false | 是否固定节点在 X 轴上的值,配合 initial 使用 |
{boolean} fixY | false | 是否固定节点在 Y 轴上的值,配合 initial 使用 |
{boolean} ignore | false | 是否忽略该节点 |
{boolean} draggable | 节点是否能被拖拽 | |
{number} category | 节点的 category index |
{ show: true, splitNumber: 5, length :8, lineStyle: { color: '#eee', width: 1, type: 'solid' } }坐标轴小标记,默认显示
{ show: true, formatter: null, textStyle: { color: 'auto' } }坐标轴文本标签(详见axis.axislabel)
{ show: true, length :30, lineStyle: { color: '#eee', width: 2, type: 'solid' } }主分隔线,默认显示
{ length : '80%', width : 8, color : 'auto' }指针样式
{ show : true, offsetCenter: [0, '-40%'], textStyle: { color: '#333', fontSize : 15 } }仪表盘标题
{ show : true, backgroundColor: 'rgba(0,0,0,0)', borderWidth: 0, borderColor: '#ccc', width: 100, height: 40, offsetCenter: [0, '40%'], formatter: null, textStyle: { color: 'auto', fontSize : 30 } }仪表盘详情
名称 | 默认值 | 描述 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{string} name | null | 事件名称 | ||||||||||||||||
{number} weight | 1 | 事件权重 | ||||||||||||||||
{Array} evolution | [] | 同一事件的的演化过程,每一个数组项为Object {},内容如下
|
名称 | 默认值 | 描述 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
{Object} breadcrumb | { show: true, textStyle: {} } |
面包屑
|
|||||||||
{number} childBorderWidth | 1 | 二级边框宽度 | |||||||||
{string} childBorderColor | '' | 二级边框颜色 |
名称 | 默认值 | 描述 |
---|---|---|
{string} name | null | 数据名称 |
{number} value | null | 数据值 |
{Array} children | [] | 子节点,每项的属性和父节点相同 |
{Object} itemStyle | {} | 参见 itemStyle ,权重最高 |
名称 | 默认值 | 描述 |
---|---|---|
{string} name | null | 数据名称 |
{number} value | null | 数据值 |
{string} symbol | 'circle' | 同series(直角系) |
{number|Array} symbolSize | 20 | 所有该类目的节点的大小 |
{Array} children | [] | 子节点,每项的属性和父节点相同 |
{Object} itemStyle | {} | 参见 itemStyle ,权重最高 |
名称 | 默认值 | 描述 |
---|---|---|
{string} name | null | 数据名称 |
{Number} value | null | 数据值 |
{Object} itemStyle | {} | 参见 itemStyle |
[12, 34, 56, ..., 10, 23]
当某类目对应数据不存在时(ps:'不存在' 不代表值为 0),可用'-'表示,无数据在折线图中表现为折线在该点断开,在柱状图中表现为该点无柱形,如:
[12, '-', 56, ..., 10, 23]
当需要对个别内容进行个性化定义时,数组项可用对象,如:
[ 12, 34, { value : 56, tooltip:{}, //自定义特殊tooltip,仅对该item有效,详见tooltip itemStyle:{} //自定义特殊itemStyle,仅对该item有效,详见itemStyle }, ..., 10, 23 ]
当图表类型为scatter(散点图或气泡图)时,其数值设置比较特殊,他的横纵坐标轴都可能为数值型,并且气泡图时需要指定气泡大小,所以scatter型图表设置为:
[ { value : [10, 25, 5] //[xValue, yValue, rValue],数组内依次为横值,纵值,大小(可选) }, [12, 15, 1] ... ]
当图表类型为K线图时,其数值设置比较特殊,他的数值内容为长度为4的数组,分别代表[开盘价,收盘价,最低值,最高值]
[ { value : [2190.1, 2148.35, 2126.22, 2190.1] // // 开盘,收盘,最低,最高 }, [2242.26, 2210.9, 2205.07, 2250.63], ... ]
当图表类型为饼图时,需要说明每部分数据的名称name,可设置选中状态,所以设置为:
[ { value : 12, name : 'apple' //每部分数据的名称 }, ... ]
当图表类型为地图时,需要说明每部分数据对应的省份,可设置选中状态,所以设置为:
[ { name: '北京', value: 1234, selected: true }, { name: '天津', value: 321 }, ... ]
{ show: false, type: 'scale', loop: true, period: 15, scaleSize : 2, bounceDistance: 10, color : null, shadowColor : null, shadowBlur : 0 }标注图形炫光特效:
{ enable: false, maxTurningAngle: 45 }边捆绑:
{ show: false, loop: true, period: 15, scaleSize : 2, color : null, shadowColor : null, shadowBlur : null }标线图形炫光特效:
{ show: true, position:'outer' }折线图,柱形图,K线图,散点图,饼图 ,地图,力导向,漏斗图,markPoint,markLine 标签,饼图默认显示在外部,离饼图距离由labelLine.length决定,
其中标签label属性为对象,其包含:
名称 | 默认值 | 描述 |
---|---|---|
{boolean} show | true | 标签显示策略,可选为:true(显示) | false(隐藏) |
{string} position | 'outer' | null | 标签显示位置,地图标签不可指定位置
饼图可选为:'outer'(外部) | 'inner'(内部), 漏斗图可选为:'inner'(内部)| 'left' | 'right'(默认), 折线图,柱形图,K线图,散点图默认根据布局自适应为'top'或者'right',可选的还有:'inside' | 'left' | 'bottom' 柱形图可选的还有,'insideLeft' | 'insideRight' | 'insideTop' | 'insideBottom' |
{boolean} rotate | false | 和弦图有效,文本标签自动旋转 |
{number} distance | 10 | 和弦图: 文本标签旋转后于弦的间隔
饼图: 当label position为inner时有效,为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数,默认为0.5。 |
{string | Function} formatter | null | 标签文本格式器,通用,同Tooltip.formatter,支持模板、方法回调,不支持异步回调 |
{Object} textStyle | null | 标签的文本样式(详见textStyle) |
{Number} x | 各异 | 仅矩形树图使用,标签横坐标 |
{Number} y | 各异 | 仅矩形树图使用,标签纵坐标 |
其中标签视觉引导线labelLine属性为对象,其包含:
名称 | 默认值 | 描述 |
---|---|---|
{boolean} show | true | 饼图标签视觉引导线显示策略,可选为:true(显示) | false(隐藏) |
{number} length | 40 | 线长 ,从图形外边缘起计算,可为负值。漏斗图支持'auto' |
{Object} lineStyle | 各异 | 线条样式,详见lineStyle |
通过有效设置itemStyle的normal和emphasis选项可实现个性化的显示策略,比如希望饼图文字标签默认隐藏,并在鼠标悬浮时通过一条红色的视觉引导线显示在饼图外部区域,可以如下设置:
itemStyle: { normal: { label: { show: false } labelLine: { show: false } } , emphasis: { label: { show: true, position: 'outer' } labelLine: { show: true, lineStyle: { color: 'red' } } } }
高度个性化:
折线图 try this », 柱状图 try this », K线图 try this », 散点图try this », 饼图 try this », 和弦图 try this », 力导向布局 try this », 地图 try this », 仪表盘 try this », 漏斗图 try this »
名称 | 默认值 | 描述 |
---|---|---|
{string} text | '数据读取中...' | 显示话术 ,'\n'指定换行 |
{string | number} x | 'center' | 水平安放位置,默认为全图居中,可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px) |
{string | number} y | 'center' | 垂直安放位置,默认为全图居中,可选为:'center' | 'bottom' | 'top' | {number}(y坐标,单位px) |
{Object} textStyle | null | 显示话术的文本样式(详见textStyle) |
{string | Function} effect | 'spin' | loading效果,可选为:'spin' | 'bar' | 'ring' | 'whirling' | 'dynamicLine' | 'bubble',支持外部装载 |
{Object} effectOption | null | loading效果选项,详见zrender |
{number} progress | null | 指定当前进度[0~1],个别效果有效。 |
支持标准GeoJson动态扩展地图类型,try HK 》 USA 》
// step1: 找到目标地区的geoJson数据文件,如HK_geo.json // step2: 在require('echarts/util/mapData/params').params中命名你的地图类型,如HK // step3: 命名赋值为对象{}, 实现接口方法getGeoJson,通过callback返回目标地区geoJson数据文件 require('echarts/util/mapData/params').params.HK = { getGeoJson: function (callback) { $.getJSON('geoJson/HK_geo.json',callback); } } // step3*: 对于数据地图类型,一般不需要特殊的投射算法,ECharts统一使用了简化的投射算法,因而对于个别地区可能需要人为调整,可以通过specialArea指定个别地区安的经纬度坐标和区间大小,如 require('echarts/util/mapData/params').params.USA = { getGeoJson: function (callback) { $.getJSON('geoJson/USA_geo.json', callback); }, specialArea : { Alaska : { // 把阿拉斯加移到主大陆左下方 left : -131, // 安放位置起始点:西经113度 top : 31, // 安放位置起始点:北纬31度 width : 15, // 区间大小宽高不大于15度 height : 15 }, Hawaii : { left : -112, // 夏威夷 top : 29, width : 5, height : 5 }, 'Puerto Rico' : { // 波多黎各 left : -76, top : 26, width : 2, height : 2 } } } // step4: 已经有这个地图类型了,可以在option中使用了 option.series = [ { type: 'map', mapType: 'HK', // 自定义扩展图表类型 ... } ]
// 图表实例化------------------ // srcipt标签式引入 var myChart = echarts.init(document.getElementById('main')); // 过渡--------------------- myChart.showLoading({ text: '正在努力的读取数据中...', //loading话术 }); // ajax getting data............... // ajax callback myChart.hideLoading(); // 图表使用------------------- var option = { legend: { // 图例配置 padding: 5, // 图例内边距,单位px,默认上下左右内边距为5 itemGap: 10, // Legend各个item之间的间隔,横向布局时为水平间隔,纵向布局时为纵向间隔 data: ['ios', 'android'] }, tooltip: { // 气泡提示配置 trigger: 'item', // 触发类型,默认数据触发,可选为:'axis' }, xAxis: [ // 直角坐标系中横轴数组 { type: 'category', // 坐标轴类型,横轴默认为类目轴,数值轴则参考yAxis说明 data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] } ], yAxis: [ // 直角坐标系中纵轴数组 { type: 'value', // 坐标轴类型,纵轴默认为数值轴,类目轴则参考xAxis说明 boundaryGap: [0.1, 0.1], // 坐标轴两端空白策略,数组内数值代表百分比 splitNumber: 4 // 数值轴用,分割段数,默认为5 } ], series: [ { name: 'ios', // 系列名称 type: 'line', // 图表类型,折线图line、散点图scatter、柱状图bar、饼图pie、雷达图radar data: [112, 23, 45, 56, 233, 343, 454, 89, 343, 123, 45, 123] }, { name: 'android', // 系列名称 type: 'line', // 图表类型,折线图line、散点图scatter、柱状图bar、饼图pie、雷达图radar data: [45, 123, 145, 526, 233, 343, 44, 829, 33, 123, 45, 13] } ] }; myChart.setOption(option); ... // 增加些数据------------------ option.legend.data.push('win'); option.series.push({ name: 'win', // 系列名称 type: 'line', // 图表类型,折线图line、散点图scatter、柱状图bar、饼图pie、雷达图radar data: [112, 23, 45, 56, 233, 343, 454, 89, 343, 123, 45, 123] }); myChart.setOption(option); ... // 图表清空------------------- myChart.clear(); // 图表释放------------------- myChart.dispose();
五色土网站制作干花南昌模板网站制作电子博彩网站开发制作东莞搭建网站制作免费头像生成制作网站教程影片网站制作干花北京市建委网站制作表情包制作网站怎么建立站点湖北商城网站制作门头沟专业制作企业网站长兴网站制作属于什么税收编码商丘个性化企业网站制作公司孝昌县网站制作企业多少钱成都制作公司网站要多少钱lamp网站开发制作通河网站制作公司哪家好一键制作网站小程序dw网站模板 怎么制作微课制作网站有哪些内容达州网站制作多少钱做网站制作常熟百创网络公司小贷网站制作制作端午祝福网站屏东中学网站制作网页制作专题网站南川餐饮网站制作公司费用咋样制作个人销售网站赤峰网站制作费用天津网站制作教程栾川十年网站制作开发制作游戏网站需要什么条件浪人网站制作起泡贸易节海报制作网站哪些网站可以制作原型图河源家电维修网站制作制作一个商城网站永丰网站制作公司广安专业网站设计制作网站制作合同到期威海制作网站费用潍坊哪里制作网站广安网站建设制作策划房县专业的网站制作多少钱免费单页网站制作教程冰淇淋网站制作片头制作中国网站企业网站程序制作过程昌乐二中网站制作h5地板网站制作凤城网站设计制作大学生心理健康网站制作与设计台州电商网站制作多少钱一年北京电商网站制作多少钱德州翻译网站制作将网站制作成软件有哪些如何制作网站 已回答门户网站模板制作雪糕怎样制作优惠劵的网站崇左制作网站找哪家武汉低价网站制作渭南免费网站制作制作一个网站项目的流程图安利网站制作美食美食网站设计与制作的代码苏州行业网站制作服务报价怎么制作网站卖东西徐汇区参考网站制作价格我的世界皮肤壁纸制作器网站自己在家制作购物网站php网站后门制作岑溪摄影网站制作网站设计与网页制作招聘在线网站制作网页留言板网站制作器下载安装张燕简历制作网站手机上制作网站的app音响网站制作美食义乌岳阳网站制作需要多少钱北京数字网站制作流程优势技术先进的网站设计制作镇雄网站制作公司自己制作头像的网站模板网站导航制作html制作企业网站需要江苏高效网站制作机构江山网站制作与设计是什么敦煌网站制作公司星爷制作的dj视频在哪个网站网站制作选超速云建站效果好制作解析网站购物网站制作讲解装修公司网站模板制作深圳包年推广网站制作广东网站制作流程技术制作模板网站需要什么软件网站制作培训费用多少钱泰语自学网站制作联想集团网站制作小玩具怎么查看自己制作的网站b2b电子商务网站制作双鸭山如何制作自己的网站湖北网站制作壁纸福州sem网站制作宜城学校网站制作铭赞网络分享如何进行网站制作昆明网站快速制作专业网站制作哪些公司好网站如何制作滑动字体岳阳企业网站制作工艺品网站视频制作二手车网站制作毕业设计信息技术优质课网站制作网站制作文案策划免费制作网页网站摄影网站制作书签手绘网页制作网站建设实战大全免费卡通签名制作网站如何制作网站和网页设计网站制作 费用 开票通州网站制作哪个公司好制作电商网站首页html我看书网站制作越南网站制作干花惠州简单网站制作网站制作视频文案个人摄影网站制作免费江北英文网站制作雅安企业网站制作定制汉中网站制作什么价昆山网站公司网站制作网站毕业设计制作教程怎样制作购物车网站个人网站网页设计与制作麻城金泉网网站制作制作网站怎么找空间全包网站制作多少钱大鹏响应式网站制作价格网站首页制作蛋糕教程地图定位网站制作网页设计怎么制作网站龙泉街道网站制作盘县营销网站制作公司顺义区专业网站制作哪家好vip电影网站解析制作从服务器到网站制作肇庆如何制作网站如何介绍自己制作的网站日剧网站制作冰淇淋抖音短视频制作素材网站武进制作企业网站玉环淘宝客如何制作自己的网站从零开始制作动态网站合肥制作个人网站宣传报制作免费网站制作一个优惠券网站多钱绍兴低价网站制作天下喜宴网站制作通化手机网站制作能够制作网站的软件哪些网站可以制作软件南京网站制作雪糕做法激动网站制作壁纸抖音手机制作素材网站有哪些网站制作软件dre在线制作卖qq号网站网站制作完成可以在百度查到吗下载站网站制作拼多多网站图片制作网站策划书制作方法如何制作一个优秀的个人网站塘厦网站建设制作多少钱店招制作图片的网站网络医院网站制作php怎么制作手机网站源码温岭松门网站制作店在线制作公章网站漂亮幼儿园简历制作网站网站制作有哪些分类周口网页制作与网站建设专业网站制作管理公司设计制作网站环节昆明制作网站定位铜川网站设计制作多少钱创意公司网站制作红孩儿网站制作起泡广东企业网站建设制作南充小程序网站制作公司南开微信网站制作制作简历什么网站好龙岩网站制作雪糕做法黄南网站建设与制作设计及排名常州网站制作首页公司网站建制作费用如何入账阜新网站视频制作外贸网站制作费用男装网站制作ppt广西网站制作质量服务济南网站制作包括哪些我的世界模组制作网站数学网站制作起泡