xAxis 横坐标
yAxis 纵坐标
grid 整个坐标系是基于grid这个网格去定位的
legend 图例
dataRange 值域选择,常用于展现地域数据时选择值域范围
dataZoom 数据区域缩放,常用于展现大量数据时选择可视范围
toolbox 工具箱
tooltip 气泡提示框,常用于展现更详细的数据
timeline 时间轴
series 存放数据的大数组
⑴折线图:有两种类型:一种是平铺,一种是堆积(加和),面积填充的交区域图
⑵柱形图:类目在纵轴,数据在横轴的叫条形图,也有平铺和堆积两种状态
⑶散点图:有两个维度的数据,横坐标和纵坐标,当我们给他第三个维度数据,给他映射大小的时候,我们一般叫他气泡
⑷k线
⑸饼图:空心的,我们一般叫他圆环图,玫瑰图是饼图的一种变形
⑹雷达图:多维度的数据
⑺和弦图:关系网络,每条弧代表一条实体,弧与弧之间会有弦链接在一起代表他们之间的关系
⑻力导向布局图
每一个节点是一个实体,节点与节点之间的连线代表他们之间的关系。和弦图和力导向图都是关系型的图
⑼地图
⑽仪表盘:对关键指标形象的展现。一个仪表盘一个针,多根针其实是几个仪表盘堆叠而已
⑾漏斗图
⑿事件河流图
⒀矩形树图
⒁韦恩图
⒂树图
⒃字浮云
直角坐标系下网格坐标和大小的重要组建,如图:grid有6个参数定义坐标和大小,分别是定义左上角的x和y,定义右下角的x2,y2,也可以直接定义整个的宽和高
那我们看看这六个参数是如何搭配着使用来定义整个直角系的坐标和大小的,要注意的是
1)这6个都支持传入数值number(单位px)或传入string(单位%);
2)ECharts没有绑定resize事件,显示区域大小发生改变内部并不知道,使用方可以根据自己的需求绑定关心的事件,主动调用resize达到自适应的效果,常见如window.onresize = myChart.resize。我们所看到的echarts的事例都是绑定了整个方法,所以可以看到图标自适应升缩的效果
3)怎么改变直角系的布局和大小?
这里把横纵坐标轴都隐藏了,所以grid我们会看的更明显,我们可以设置边框颜色,边框高度,背景色,距离左上角的位置和距离右下角的位置(位置可以用数值直接表示,也可以用百分比自适应升缩)
注意哦,有了width和height(支持数值和百分比),x2就不起作用了
如果要求grid不显示,就把边框色设置透明色或者边框宽度为0
最多可以存在两条横轴和两条纵轴,横轴可以依附在grid的顶部和底部(默认),纵轴可以依附在grid的左侧(默认)和右侧。不管是横轴还是纵轴,坐标轴都有三种类型:分别是类目型、数值型和时间型
这里的横轴的类型category就是类目轴,类目轴需要指定一个data,这里是【周一~周日】,类目轴只能出现指定的data,不会多一个,也不会少一个;
y轴默认是一个数值轴,如果你不指定一个区间的话,他会自动的从目标数据里面去计算最大值和最小值作为他们的区间
有 ‘category’ | ‘value’ | ‘time’ , 横轴默认为类目型’category’,纵轴默认为数型’value’
true(显示) | false(隐藏)
横轴默认在’bottom’,纵轴默认在’left’,可选为:‘bottom’ | ‘top’ | ‘left’ | ‘right’
默认为’end’,可选为:‘start’ | ‘end’
一般来说折线图和区域图是顶头的,所以他的boundaryGap是false
柱状图没有设置boundaryGap 也就是默认值为true,前后是有留空白的
坐标轴两端空白策略,数组内数值代表百分比,[原始数据最小值与最终最小值之间的差额,原始数据最大值与最终最大值之间的差额]
很多时候没有给纵轴设置boundaryGap,他代表的是自动计算最大值和最小值之间的留空策略,虽然没有设置,但还是会根据取总规则,取出相对可以留空的地方
不是完全精确,但能保证极值有留空的策略
这里的0.5句相当于50% 计算(1500-0)*50%+1500=2250然后向上取整
脱离0值比例,放大聚焦到最终_min,_max区间,有true和false两个选项
如图:常见的股票波动都很小,如果不摆脱0值,你们在坐标下就呈现第一幅图的状态,很难看;所以需要scale缩放,脱离0值之后,缩放并且聚焦道整个值的区间内,这很常见
图一:scale:false,没有脱离0值
图二:scale:true,并且scale是自动适应的
如果不指定段数,他会自动分成相对合理的段数,不同场景下有不同的需求
一般都是数组里面字符串展示,但有时候有一些高度个性化的需求,比如说某一天突出,就需要把他变成特殊样式
{value:指定名字,textStyle:{文本样式}}
在这里我们会看到6月和其他人长得不一样
①show 是否显示,默认为true
②lineStyle 属性lineStyle控制线条样式
③onZero 定位到垂直方向的0值坐标上,默认为true
onZero:true默认位置,和0值对其
onZero:false 就会依附在网格的边缘
①show false(数值轴和时间轴)true(类目轴)
②inside 小标记是否显示为在grid内部,默认在外部false
③length 属性length控制线长
④lineStyle 控制线条样式
⑤onGap 小标记是否显示为间隔,默认等于boundaryGap
onGap:true
onGap:false
所以tick文字是否安放在空隙与空隙之间就是onGap这个参数的意义,如果是false就会跟小标记对齐了
splitLine和splitArea也是可以设置onGap:false的,在折线图中有时有着效果,为了区分和视觉的引导
①interva:auto时,axisLabel的文本会进行空间的计算,如果他发现放不下会自动隐藏
interva:0,没有间隔,文字过多就会挤在一起
interva:2 手动设置每两个显示
interva:function(){return …}显示的就是return过滤出来的条件
为什么会打印4次?
axisTick默认会去找auto,也就是默认回去走axisLabel的interval,同样作为视觉引导的splitLine和spliyArea同样也会去找interval,所以打印一共执行了4次
②rotate 标签旋转角度,默认为0,不旋转,正值为逆时针,负值为顺时针,可选为:-90 ~ 90
③margin 坐标轴文本标签与坐标轴的间距,默认为8,单位px
④textStyle 文本标签样式
⑤clickable 希望文本能被点击,hover上去的时候是小手,默认false
⑥formatter 间隔名称格式器:{string}(Template) | {Function}
如下;这里的formatter用的是string,string的模板变量是value,用来替换传入的data
data里的数据
同样的效果我们用function也是可以做出来的
①show 是否显示,默认为true
②onGap 分隔线是否显示为间隔,默认等于boundaryGap
③lineStyle 控制线条样式,颜色可设置数组的形式
①show 是否显示,默认为false,设为true后带如下默认样式
②onGap 分隔区域是否显示为间隔,默认等于boundaryGap
③areaStyle 控制区域样式,颜色数组实现间隔变换
echarts的数据驱动都是在这个大option里面,在这里面跟数据相关的只存在于一个地方就是series,每一个例子里面跟数据相关的就是series里的data
其余类型还有 ‘bar’(柱状图) | ‘scatter’(散点图) | ‘k’(K线图) ‘pie’(饼图) | ‘radar’(雷达图) | ‘chord’(和弦图) | ‘force’(力导向布局图) | ‘map’(地图)
默认开启,如果没有click事件响应可以关闭
所有的图形样式都是通过itemStyle设置的。可设置两种样式:normal和emphasis默认和强调两种样式,如果emphasis不设置会默认用nomal的样式。
实例->主题->Echarts Theme Designer->文档图示
找到这张图:
他告诉了我们在折线图中有哪些可靠的样式:
lineStyle:指的是这条线
label:每个拐点上的文字,拐点指的是symbol,可以控制它的样式,大小,旋转;
如果要把折线面积进行填充就用areaStyle,其中normal和emphasis属性为对象,其包含:
(label默认不显示,如果显示的话默认位置在上方,格式为数值)
①支持模板
看a,b,c,d分别表示什么
②支持方法回调,传入参数,打印参数。返回你要的数据,就可以直接展示了
为什么itemStyle会有emphasis的时候呢?
有时候这些label我并不希望他们默认就显示,而是悬浮的时候显示或者不同状态下不同的样式效果
如图,每一个系列里面都有一个stack为‘总量’,这个名字可以随便的取,但最终会根据相同的stack名字会把数据堆叠在一起。这些数据stack都是一样的,所以都会堆叠在一起
相同名字的堆叠在一起
yAxisIndex默认值为0,yAxis坐标轴数组的索引,指定该系列数据所用的纵坐标轴
默认自动选择(8种类型循环使用,不显示标志图形可设为’none’),默认循环选择类型有:
‘circle’ | ‘rectangle’ | ‘triangle’ | ‘diamond’ |‘emptyCircle’ | ‘emptyRectangle’ | ‘emptyTriangle’ | ‘emptyDiamond’
另外,还支持五种更特别的标志图形’heart’(心形)、‘droplet’(水滴)、‘pin’(标注)、‘arrow’(箭头)和’star’(五角星),这并不出现在常规的8类图形中,但无论是在系列级还是数据级上你都可以指定使用,同时,‘star’ + n(n>=3)可变化出N角星,如指定为’star6’则可以显示6角星
自1.3.5起支持symbol为自定义图片,格式为’image://’ + ‘图片路径’, 如’image://…/asset/ico/favicon.png’
网上的图片地址:
我们的文本会进行空间的运算,如果发现文本过长方不限,会自动隐藏
默认为false,坐标轴的文字不显示,这个拐点的symbol和拐点的文字也不显示
要显示symbol怎么办呢?showAllSymbol设为true,就不管坐标轴上是否显示,拐点都显示
为true时有高亮效果
为false时没有高亮效果
data里的参数:
①不存在的数据用’-'表示
②可以在data里做一些个性化的定义
默认为0,支持传入数组分别指定柱形4个圆角半径,如:[5, 5, 0, 0](顺时针左上,右上,右下,左下)
每个图表最多仅有一个标题控件,每个标题控件可设置主副标题。九宫格自有布局,支持文字样式设置和超链接跳转
用x,y来给标题定位,textAline文字对其方式
也可以用数值
text 主标题文本,’\n’指定换行
link 主标题文本超链接
target 指定窗口打开主标题超链接,支持’self’ | ‘blank’,不指定等同为’blank’(新窗口)
textStyle 主标题文本样式
subtext 副标题文本,’\n’指定换行
sublink 副标题文本超链接
subtarget 指定窗口打开副标题超链接,支持’self’ | ‘blank’,不指定等同为’blank’(新窗口)
subtextStyle 副标题文本样式
如图:换行的例子
itemGap 主副标题纵向间隔,单位px,默认为10
borderWidth 标题边框线宽,单位px,默认为0(无边框)
borderColor 标题边框颜色
backgroundColor 标题背景颜色,默认透明
padding 标题内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距,同css
①每个图表最多仅有一个图例。
②图例支持自动分行,就是说当我们水平的安放图例,但图例个数很多的时候,会自动换行;同样当垂直布局的时候,纵向距离不够也会自动分行。
③我们也可以自己进行手动的分行,就是在data里面传入一个’ ’
④legend支持九宫格布局
注意:x为right时,图形在右侧
为left或center时,图例的图形元素在左侧
图1:
图2:
在formatter里面他的模板变量只有一个name
饼图中利用formatter的强大功能:
降水量的数据本身是有的,所以点击以后会立马显示
没有的数据,可配合LEGEND.SELECTED事件做动态数据载入,如降水量是没有数据的,可以加数据
①传入空字符串’'可实现工具栏出现空格一行,即手动分行(列);
②如需个性化图例文字样式,在数组项中添加{Object},指定文本样式和个性化图例icon
dataZoom主要用于在直角系下做一些数据区域的缩放,当数据过多,我们就需要这个组件既可以看到全貌,又可以在缩放的时候看到局部的细节
默认为水平布局,可选为:‘horizontal’ | ‘vertical’
纵向布局默认左侧,左上角x坐标,单位px
纵向布局默认下方,左上角y坐标,单位px
纵向布局是默认为30 (自适应 | 30)
默认透明
仅以第一个系列的数据作为缩量图显示
默认为0(%),从首个数据起选择。
默认为100(%),到最后一个数据选择结束
不设置start和end默认就是0-100%
默认为false,当设置为true时选择区域不能伸缩
①zoomLock:false
②zoomLock:true
默认false,一般发送请求时就需要false这样的效果,避免频繁的更新图标
当存在多个类目轴,并且存在多个系列,而且这个系列用的类目轴是不一样的时
此时移动缩放组件的时候,两个系列的数据都会随之发生变化,但如果在dataZoom里设置了xAxisindex:0,就制定了之监管第一条数据,那么对第二条数据无效
可选为:true(显示) | false(隐藏)
只需tooltip触发事件或显示axisPointer而不需要显示内容时可配置该项为false,可选为:true(显示) | false(隐藏)
showContent:true,有提示框
showContent:false,无提示框
默认为透明度为0.7的黑色
单位px,默认为4
单位px,默认为0(无边框)
默认各方向内边距为5,接受数组分别设定上右下左边距
可选为:‘line’ | ‘cross’ | ‘shadow’ | ‘none’(无)
一般不用写,默认定位在鼠标周边的10px的范围
传入{Array},如[x, y], 固定位置[x, y];传入{Function},如function([x, y]) {return [newX,newY]},默认显示坐标为输入参数,用户指定的新坐标为输出返回。
showDelay和transitionDuration的功能是为了houver到上面的时候会出现延迟显示tooltip的效果,因为如果没有延迟,在滑动过程中会连续的触发多个请求,这样对后端的请求压力也是蛮大的;
当然如果你的数据不是请求过来的,也可以把showDelay和transitionDuration 设为0.
hideDelay的功能是鼠标移除还有短暂时间的停留再隐藏,为了滑动的时候不会出现一闪一闪的效果
他的回调有三个,第一个参数params是把当前tooltip的相关的参数反馈出来,主要是说当前鼠标在的多个系列的数据。在这里把当前两个系列的数据都回调给我们,我们可以去拼接自己需要的数据
第二个参数是ticket,第三个参数是callback
当tooltip需要获取ajax的数据请求,毁掉完之后需要重新填充到dom上,这里就会用到callback。formatter的时候回立马返回一个loading,然后callback会把拼装好的内容重新填充给tooltip,在callback重新调用的时候,需要的参数是ticket,第二个参数是我们拼接好的内容,真正会显示的内容。那为什么会有这个ticket,假如鼠标在不断地移动,发送出了很多请求,这些请求最后回来的顺序是不可以保证的,tooltip永远会记录最后一个出发的ticket,你的多次callback回来会去检查ticket是否是当时所持有的最新的一个,如果不是会自动忽略,你的ticket必须是匹配的,才会以你的为准显示tooltip 的内容
简单的说,你可以通过这三级满足不同level的定制和个性化需求:
又称蜡烛图,在股票的交易市场上回经常看到这些图表。它分为阴线和阳线,分别会用不同的颜色来表示,在每一个k线里面都需要四个数值,分别是:当日最高,当日最低,开盘价和收盘价。当开盘价比收盘价低时,被称为阳线;当开盘价高于底盘价,证明我们那一天是跌了,所以称为阴线
除了柱形体之外还有上下分别延伸出来了两条线,就可以通过lineStyle来定义
不设时自适应。但设置了,缩小的时候,会出现重叠,所以一定要慎用
当图表类型为K线图时,其数值设置比较特殊,他的数值内容为长度为4的数组,分别代表[开盘价,收盘价,最低值,最高值]
如下:特殊的也可单独设置样式
散点图一般是用在把一组二维的数据转换成平面坐标,让他在直角系下位置的投影;如图,身高和体重这样的一组二维数据,把他在整个直角坐标系下做了了一个位置的投影,能看得见一些分布。不仅这样散点图还可以做一些更高维度的视觉编码,比如说我们可以改变你每一个点的大小,去映射一个更高的纬度,通常当我们改变了散点的大小之后这样的图我们称为气泡图;
除了大小之外还改变他的颜色,这样就映射了4个纬度;如果你愿意,还可以还改变边线的颜色,或者纹理,加入动画去改变时间纬度的变化。所以说散点图是直角坐标系下表现能力最丰富的图表,他可以做一些比较高纬度的数据的展现。gapminder软件是bubble chart最典型的应用,也是非常优秀的作品 hans rosling 4minutes
其中标签label属性为对象,其包含:
标志图形类型,默认自动选择(8种类型循环使用,不显示标志图形可设为’none’),默认循环选择类型有:‘circle’ | ‘rectangle’ | ‘triangle’ | ‘diamond’ |‘emptyCircle’ | ‘emptyRectangle’ | ‘emptyTriangle’ | ‘emptyDiamond’
另外,还支持五种更特别的标志图形’heart’(心形)、‘droplet’(水滴)、‘pin’(标注)、‘arrow’(箭头)和’star’(五角星),这并不出现在常规的8类图形中,但无论是在系列级还是数据级上你都可以指定使用,同时,‘star’ + n(n>=3)可变化出N角星,如指定为’star6’则可以显示6角星
自1.3.5起支持symbol为自定义图片,格式为’image://’ + ‘图片路径’,如’image://…/asset/ico/favicon.png’
如果我们把二维的数据扩展到三维,我们要用这个数据编码映射第三维数据
这个时候写的symbolSize只是一个视觉的确定,并没有做任何的视觉编码
当我们的数据纬度变成了三维,这时候的symbolSize就可以做额外的数据编码,比如说根据第三个纬度的不同让这个圆变得不一样。你可以看到横纵坐标会编码在坐标上,第三个纬度会编码在大小上面
对于个性化的内容我们也可以直接在data里面写,data级会比系列级更加优先
大规模模式是指当我们有大量的数据需要在散点图中显示的时候为了更加高效,我们启用大规模模式,如下图中是根据sin和cos生成了两万多条数据,在这样的大规模模式下面,tooltip并不会显示每一个点的详情,而当我们做一个数据区域缩放的时候,详情会出来,并且缩放的阀值就是默认值2000,当我们的视觉区域里面少于2000的时候,会自动切换成常规模式,这个时候我们的tooltip就会生效。这个是用来兼顾在大规模时候的效率
也同时能让大家看到全局的面貌,但大家缩放的时候能看到局部的细节
默认值为2000,large为true下有效
默认值为true,hover时的联动响应(高亮显示)
但是需要注意的是这个color会被图例索引一次,所以需要判断(外面的if判断),如果存在,才是哪个系列的编码,否则的话是图例的调用。然后在if判断里面再写视觉编码逻辑,编的是第四个纬度,如果这个值大于40,反馈红色,地域这个值,是绿色
标准的饼图是个实心圆,如果是个存在内外半径的空心圆我们一般会叫他环形图
如为空或不支持类型,则该系列数据不被显示。‘pie’(饼图)
如启用legend,该值将被legend.data索引相关
默认开启,如果没有click事件响应可以关闭
饼图默认显示在外部,离饼图距离由labelLine.length决定
如“百度”,不设置align这个属性的话是不会覆盖的,只是右对齐
去掉align的设置:
左顶头:
里面的简便颜色是通过zrColor这个简便方法实现的
打开ZRender的官网,在里面找到线性渐变。有7个参数:前三个是渐变的起点(圆心坐标和半径),后三个是渐变的终点(圆心坐标和半径),最后一个是颜色列表
颜色列表是个非常复杂的二维矩阵,里面会定义“一个百分比一个颜色”,“一个百分比一个颜色”
线性渐变:
有时候标签会重叠,像下面这样
设置为avoidLabelOverlap: true
就可以解决:
他是一个数组,数组里面可以传一个绝对值也可以传入一个百分比,百分比可以自适应。百分比计算min(width, height) * 50%
有时候以为上面有组件或者有标题,需要处于其他的位置,就要用center去定义了
也可以用数值直接写死
可以是字符串也可以是数组。
支持绝对值(px)和百分比,百分比计算比,min(width, height) / 2 * 75%, 传数组实现环形图,[内半径,外半径]
如果是字符串就是一个实心的圆,这里的55%就是图标的宽和高之间小值的一半,再用结果乘以55%作为这个饼图的半径。其实也就是直径就是搞得55%
也可以直接写个50px,把半径写死
第一个值为内半径,第二个值为外半径
两个半径都可以分别用百分比或直接px为单位的值
数据有时候过大,可以设置为0,这样让文本相对显示在右侧,这样视觉更加舒服
可用于防止某item的值过小而影响交互,默认为0
用的时候要谨慎,minAngle过大,可能会造成是觉误导
逆时针:
在饼图里面做扇区的布局和排序是有讲究的:
林峰建议:从12开始,大数据逆时针开始分布,如下图,这样的目的是让剩余数据的label在右侧
必须要是selectedMode开启后才能看到他的效果
除了跟饼图有点相似意外,还跟坐标轴有点事相似
支持绝对值(px)和百分比,百分比计算min(width, height) * 50%
支持绝对值(px)和百分比,百分比计算比,min(width, height) / 2 * 75%,
传数组实现环形图,[内半径,外半径]
有效输入范围:[-360,360]
有效输入范围:[-360,360],注意一定要保证startAngle要比endAngle要大
注意一定要保证startAngle要比endAngle要大
如果有人你觉得-90度就是270度,是因为没有让startAngle要比endAngle大
指的是min和max之间分割的段数,默认为10
起始的位置和结束的位置分为两大段
属性lineStyle控制线条样式, 比较特殊的是这里lineStyle.color是一个二维数组,用于把仪表盘轴线分成若干份, 并且可以给每一份指定具体的颜色,格式为:[[百分比, 颜色值], […]]
length属性控制线长 ,lineStyle属性控制线条样式
属性lineStyle控制线条样式, 属性splitNumber控制每份split细分多少段 ,属性length控制线长
属性formatter可以格式化文本标签, 属性textStyle控制文本样式
属性length控制线长,百分比相对的是仪表盘的外半径 ,属性width控制指针最宽处, 属性color控制指针颜色
还可以再修改指针的样式:
属性show控制显示与否, 属性offsetCenter用于标题定位,数组为横纵相对仪表盘圆心坐标偏移,支持百分比(相对外半径), 属性textStyle控制文本样式
属性show控制显示与否,
属性backgroundColor控制边框颜色,
属性borderWidth控制边框线宽,
属性borderColor控制边框颜色,
属性width控制详情宽度,
属性height控制详情高度,
属性offsetCenter用于详情定位,数组为横纵相对仪表盘圆心坐标偏移,支持百分比(相对外半径),
属性formatter可以格式化文本,
属性textStyle控制文本样式
通过series->itemStyle->label->position改变他的具体位置:左中右都是可以的
漏斗图默认显示在文本标签的右侧,文本标签离图形距离由labelLine.length决定 。
min,max分别表示漏斗里面的最大值和最小值
一个是数值,一个是图形的显示区域,他们两者之间的关联,就是通过minSize和maxSize去连接的
maxSize对应的是图形的max值所占据的空间,默认为100%;最大值会填满这个显示区域
minSize默认为0%;最小值为0
如果maxSize不是100%,最小值也不是0%,就会是这个样子
这样的目的有时候是为了做图表的拼接,如下上面的minSize和下面的maxSze相等
如下:
外边缘那条虚线是拖拽重计算的代表,在饼图那里也是一样的,如果不需要的话直接去掉就可以了
就长这样了
有人会说这样的效果一个漏斗图就可以了,为什么要拼接?
因为每一个漏斗图他是等高的,不能改变某一格的高度,通过拼接可以实现通过某些分类它的高度和其他不一样,可以实现更加个性化的漏斗图
默认居中对齐,可用选项还有:‘left’ | ‘right’ | ‘center’
可以取ascending(顺序), descending(倒序),默认descending
sort 也可以设置为none,不排序,也就是按照数据写的顺序往下排
目前支持的是中国,以及中国的一些省市自治区和世界地图
series->itemStyle->color
地图可以根据值去着色,但其实上着色是根据dataRange区着色的
但如果没有这个控件,你会发现地图并不会着色,这个时候我们就可以用到itemStyle里面的color
但有时候这样不能满足我们的需求,我们需要在不同的地方又不同的颜色。你们就可以通过function进行着色的策略
地图中有一个areaStyle,它本质上和color没区别,而且优先级比color还低,但已经被废弃,不建议使用
默认的label显示在整个地理区域的中间,不能通过position去定位标签,但这并不代表说地图的标签是不可以指定位置的,他只不过不通过position去设定而已
地图特有的属性:
默认关闭,可选single,multiple。既可以然数值展现,也可以有选择的功能
可以启用selectedMode去做地图区域的选择
可以通过echarts视图选中的区间去得到当前选中的地域,基于这个选择和事件就可以进行联动的效果
滚轮切换或者点击的时候的效果:
single单选:选中的样式就是高亮的样式,我们可以改变itemStyle里面的emphasis来改变选中时候的样子
支持world,china及全国34个省市自治区。需要注意的是省市自治区都是直接用中文指定的,除此之外还支持子区域的模式。大家可以在地图里面选出每一份地图里面的子区域作为一个新的地图类型来呈现,就像从纾解里面选出某一个国家,从中国里面选出某一个省份,或者从某一格省份里面选出某一个市作为一个单独的新的地图类型
动态扩展的时候,也会用到mapType属性,此时是HK。
在这里他的mapType就是HK,HK就是上面定义的。动态扩展的地图相对比较复杂,大家需要了解怎么去加载一个文件.json,怎么去定义一个mapType,例子里面是模块化的加载,他定义的方式是请求这样的模块,在里面定义新的地图类型,最主要的是定义地图类型下的一个返回GeoJson这样一个方法
鼠标在dataRange的时候,地图山会实时呈现当前鼠标所在的位置,有哪些国家在当前值域范围内
当鼠标在地图中漫游的时候,值域控件也会同步该对应的位置,这是一个双向联动
不需要有该效果,直接关闭就可以了
也可以直接在dataRange中把hoverLink:false也可以关闭联动效果
默认只适应上下左右居中可配x,y,width,height,任意参数为空都将根据其他参数自适应,默认值{x:‘center’,y:‘center’}
可以用left,center,right,也可以用具体的某个数值
echarts的地图缩放,当我们的width和height都没有定义的时候,会从起始坐标开始计算得出在显示区域内最大可显示的位置,并且根据地图的成分比例,做一个自动的升缩
有时候我们也可以这样设计,可能也是我们需要的:
默认为false(关闭),其他有效输入为true(开启),‘scale’(仅开启滚轮缩放),‘move’(仅开启拖拽漫游)
可指定{max:number, min:number},其中max为放大系数,有效值应大于1,min为缩小系数,有效值应小于1
默认为加和,可选为:‘sum’(总数) | ‘average’(均值)
默认值为0,mapValueCalculation为average时有效,默认为取整,需要小数精度时设置大于0的整数
如果tooltip想展示均值和每一个系列的具体数值。如何写:
上面部分不是很详细:
存在legend时生效
不需要的话设置为false,就不出现了
我希望“广东”显示成“GD”,就可以通过nameMap去改变,并且改变以后data里面的name也可以用改变后的名字去做映射
主要用途可以做一些国际化,比如说默认的世界地图是用英文去呈现的,那我们做中文出现的时候可以用nameMap,把所有英文国家的名字变成中文,同理你也可以把中文变成英文
数值单位为px,正值为左下偏移,负值为右上偏移,如{‘China’ : [10, -10]},默认的文本显示在整个地域包围和的中心
如{‘Islands’:[113.95, 22.26]},香港离岛区名称显示定位到东经113.95,北纬22.26上
比如这个我们可以把地图作为一个选择器,当我们选择某一个地域的时候,我们可以改变这个系列的mapType,让它成为当前选择的地域,渲染一个新的图表,在选择返回全国
然后就可以做出这样的效果:
可选为:true(显示) | false(隐藏)
默认为左侧,可选为:‘center’ | ‘left’ | ‘right’ | {number}(x坐标,单位px)
默认为全图顶端,可选为:‘top’ | ‘bottom’ | ‘center’ | {number}(y坐标,单位px)
决定4向漫游圆盘大小,可指定 {number}(宽度,单位px)
缩放控制键默认会在指定高度的最下方最大化显示,可指定 {number}(高度,单位px)
单位px,默认为0(无边框)
默认透明
当同一图表内同时呈现多个地图时,可以单独指定所需控制地图类型,如:{ china: false, ‘北京’: true}
可选为:true(显示) | false(隐藏)
默认为垂直布局,可选为:‘horizontal’ | ‘vertical’
默认为全图左对齐,可选为:‘center’ | ‘left’ | ‘right’ | {number}(x坐标,单位px)
默认为全图底部,可选为:‘top’ | ‘bottom’ | ‘center’ | {number}(y坐标,单位px)
默认透明
单位px,默认为0(无边框)
单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔
默认为20px
默认为14px
min 指定的最小值,eg: 0,默认无,必须参数,唯有指定了splitList时可缺省min
max 指定的最大值,eg: 100,默认无,必须参数,唯有指定了splitList时可缺省max
splitNumber 分割段数,默认为5,为0时为线性渐变,calculable为true是默认均分100份
precision 小数精度,默认为0,无小数点,当 min ~ max 间在当前精度下无法整除splitNumber份时,精度会自动提高以满足均分,不支持不等划分
启用后无视splitNumber和splitList,值域显示为线性渐变,加上以后就有可调节的手柄
颜色数组长度必须>=2,颜色代表从数值高到低的变化
同时还支持Alpha通道上的变化,下图插入了一个背景图片
splitNumber生效时默认以计算所得数值作为值域文字显示,可指定长度为2的文本数组显示简介的值域文本,如[‘高’, ‘低’],’\n’指定换行
当选择multiple的时候和true的效果是一样的。和饼图的selectedMode是一样的。图例也是有开启,关闭,单选,多选的功能
默认是true,可多选
单选,选择任何一个都会把其他的关掉。
指的是地图上的hover是否可以在值域上实时展现.默认为 true
地图hover的时候,值域控件上会有一个小箭头在跳
关闭以后,小标注就不会出现了
默认为true。关闭了的话,只有当拖拽结束以后才会渲染一次,而不是实时响应
模板变量为’{value}‘和’{value2}’,代表数值起始值和结束值,函数参数两个,含义同模板变量,当calculable为true时模板变量仅有’{value}’
值域漫游除了可以在地图中使用意外,还可以在散点图中使用
如何把多个值域漫游合并,并且数字也随之改变
开始的样子:
我们可以通过formatter去隐藏我们不希望看到的值域控件,模板变量为’{value}‘和’{value2}’,代表数值起始值和结束值。
①先把起始值为20的和起始值为60的数字变成空字符串;
②接着要把中间三块靠在一起:把这三个值域做成同样的颜色,然后通过itemGap黏在一起
③通过初始值的不同,返回不同的值;itemGap影响的,用大空格代替
可选为:true(显示) | false(隐藏)
默认为水平布局,可选为:‘horizontal’ | ‘vertical’
默认为’right’,可选为:‘center’ | ‘left’ | ‘right’ | {number}(x坐标,单位px)
默认为’top’,可选为:‘top’ | ‘bottom’ | ‘center’ | {number}(y坐标,单位px)
默认透明
单位px,默认为0(无边框)
单位px,默认各方向内边距为5,接受数组分别设定上右下左边距
单位px,默认为10
并且随着个数循环使用
如果只需要一个颜色,就只需要写一个颜色就可以了。有几个特殊的
默认为’#ddd’
默认为’red’,当没有出现任何操作的时候,无法删除和修改,所以删除表现和清空标线都是不可用的,所以他俩会出现disableColor的颜色
当我们画了一条辅助线,编辑和删除功能自动开启,你就发现刚才的第一条辅助线开关变成了红色,说明生效了;另外两个已经可用了
上图icon左数1/2/3,分别是启用,删除上一条,删除全部,可设置更多属性,可传入lineStyle控制线条样式
自动与存在的dataZoom控件同步,上图icon左数4/5,分别是启用,缩放后退
上图icon左数6,打开数据视图,可设置更多属性
{boolean=} readOnly 默认数据视图为只读,可指定readOnly为false打开编辑功能
{Function=} optionToContent 自主编排数据视图的显示内容
{Function=} contentToOption 当数据视图readOnly为false时,会出现刷新按钮,如果是自主编排的显示内容,如何翻转也请自理
{Array=} lang 数据视图上有三个话术,默认是[‘数据视图’, ‘关闭’, ‘刷新’],如需改写,可自定义
支持直角系下的折线图line、柱状图bar、堆积stack、平铺tiled转换,上图icon左数6~14,
分别是切换为堆积,切换为平铺,切换折线图,切换柱形图,切换为力导向布局图force,切换为和弦图chord,切换为饼图pie,切换为漏斗图funnel
如下:是饼图和漏斗图之间的切换
在option里面你会看到funnel在动态类型切换的时候进行了重新的定义,如果并没有做这个定义,你会发现切换的时候,并不满足我们的需求
那是因为funnel的配置项,并不适合饼图。比如说funnel里面的max默认是I00的,而在这里我们需要动态的修改max为1548,同时还要设置他的起始位置,默认宽度和居中对齐。这option就是我们切换为funnel的时候动态的去复写目标里面的series里的配置项
这是magicType里面很重要的一个option,他是允许你做一些动态类型切换时动态加入的option选项
(IE8-不支持),上图icon最右,可设置更多属性
对于这些内置的功能我们其实也是以换成小图标的哦
点击之后重新setOption,给他附了一个饼图的optio选项
重新附了一个setOption
最重要的就是onclick的时候实现的功能,如提交表单,保存变成一个pdf等
在使用echarts绘制图表时, 如果需要使用渐变色, 则应使用echarts内置的渐变色生成器echarts.graphic.LinearGradient. 截至目前(2017-10-15), echarts的官方API中都没有对这个API添加说明文档, 故用本篇文章来简略说明其用法.
{
type: 'bar',
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0, 0, 0, 1,
[
{offset: 0, color: '#000'},
{offset: 0.5, color: '#888'},
{offset: 1, color: '#ddd'}
]
)
}
}
}
此配置是一个常见的柱状图配置代码, 柱子的color配置使用了echarts.graphic.LinearGradient来声明渐变色. 可以看到, 使用时传入了5个参数.
其中, 前④个参数用于配置渐变色的起止位置, 这4个参数依次对应右/下/左/上四个方位. 而0 0 0 1则代表渐变色从正上方开始.第⑤个参数则是一个数组, 用于配置颜色的渐变过程. 每一项为一个对象, 包含offset和color两个参数. offset的范围是0 ~ 1, 用于表示位置, color不用多说肯定是表示颜色了.
像示例代码的配置则表示:整个渐变过程是从正上方向正下方变化
起始(offset: 0)颜色为#000, 变化到正中间(offset: 0.5)位置时颜色为#888, 变化到结束(offset: 1)位置时颜色为#ddd, 效果图如下:
如下:
效果: