染色地图\热力图上显示指标值
现需要让地图上显示数据标签即显示相关指标,并且标签内容为对应的区域信息,效果如下:
染色地图:
热力图:
1.该地图的数据集中,必须包含区域字段,如下:
2.使用以上数据集创建地图(染色地图\热力图),如下:
3.在该地图上新建客户端宏模块
类型:客户端 对象:chart 事件:afterRenderer
5.复制并根据实际情况修改以下宏代码
//类型:ClientSide 对象:chart 事件:afterRenderer function main(chartView) { var options = chartView.getChartObject().getOptions(); //echarts配置 var chart = chartView.getChartObject().getChart(); //chartInstance var gridData = chartView.getGridData().data; //数据集 var data = options.series[0].data; //echarts配置中的数据 options.geo = options.geo || {}; options.geo.label = options.geo.label || {}; options.geo.label.normal = options.geo.label.normal || {}; options.geo.label.normal.formatter = function(a) { return myLabelFormatter(a) }; options.geo.label.normal.show = true; options.geo.label.emphasis = options.geo.label.emphasis || {}; options.geo.label.emphasis.formatter = function(a) { return myLabelFormatter(a) }; options.geo.label.emphasis.show = true; function myLabelFormatter(a) { for (var index in data) { if (data[index].name == a.name || index == a.name) {//热力图a.name是省份名称,染色图a.name是省份顺序 var newLabelString = data[index].name + ":" + data[index].displayValue; return newLabelString; } } } chart.setOption(options); } |
5.效果图如下
示例资源,基于northwind数据库:地图上显示指标值.xml
散点图可直接通过扩展属性实现地图上显示数据标签(指标值),具体如下:
扩展属性:
{ "series": [{ "label": { "normal": { "formatter": "function(a){ return a.name+a.data.displayValue}", "position": "right", "show": true } } }] } |
效果:
或者通过参考宏代码设置:修改地图数据标签