数据可视化项目分布地图设计之修改地图样式

Posted 小魏的马仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据可视化项目分布地图设计之修改地图样式相关的知识,希望对你有一定的参考价值。

上文效果

上文【数据可视化】项目分布地图设计之显示省份地图(点击可查看原文) 中,我们实现了一个空白的陕西省地图,在接下来的步骤中,我们将调整地图的样式,让其符合可视化整体风格。

本节目标

  1. 增加鼠标悬停事件,能够显示项目数量(toolTip)

实现步骤

基于上文代码(点击查看),逐个实现功能

1. 增加鼠标悬停事件,高亮显示,并且能够显示项目数量

  1. 创建一个含有陕西地市划分的数组。本阶段其实有没有经纬度都可以。只是为了方便后续,我们把经纬度加上了。
    var shanxiCity = ["cp":[108.948024,34.263161],"name":"西安市",
                        "cp":[108.979608,34.916582],"name":"铜川市",
                        "cp":[107.14487,34.369315],"name":"宝鸡市",
                        "cp":[108.705117,34.333439],"name":"咸阳市",
                        "cp":[109.502882,34.499381],"name":"渭南市",
                        "cp":[109.49081,36.596537],"name":"延安市",
                        "cp":[107.028621,33.077668],"name":"汉中市",
                        "cp":[109.741193,38.290162],"name":"榆林市",
                        "cp":[109.029273,32.6903],"name":"安康市",
                        "cp":[109.939776,33.868319],"name":"商洛市"]
  1. 遍历数组,创建一个地图上项目分布的数据
        var data = []

        shanxiCity.forEach(function(v) 
            // 地区名称
            var name = v.name;
            data.push(
                name: name,
                value: Math.round(Math.random() * 10 + 10)
            )
        );
  1. 将data添加到series中的map系列中,并且声明toolTip的显示方式
  2. 全部代码如下所示
function echart_map() 
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('chart_map'));

        var mapName = '陕西'
        
        var data = []

        shanxiCity.forEach(function(v) 
            // 地区名称
            var name = v.name;
            data.push(
                name: name,
                value: Math.round(Math.random() * 10 + 10)
            )
        );
        
        option = 
            tooltip: 
                trigger: 'item',
                formatter: function(params) 
                    var toolTiphtml = ''
                    toolTiphtml += params.name+':<br>'
                    toolTiphtml+='项目数:'+params.value+"<br>"
                    return toolTiphtml;
                
            ,
            geo: 
                show: true,
                map: mapName,
                label: 
                    normal: 
                        show: true
                    ,
                    emphasis: 
                        show: true,
                    
                ,
                roam: false,
                itemStyle: 
                    normal: 
                        areaColor: '#fff',
                        borderColor: '#3B5077',
                    ,
                    emphasis: 
                        areaColor: '#2B91B7',
                    
                
            ,
            series: [
                
                    type: 'map',
                    map: mapName,
                    geoIndex: 0,
                    aspectScale: 0.75, //长宽比
                    showLegendSymbol: false, // 存在legend时显示
                    label: 
                        normal: 
                            show: true
                        ,
                        emphasis: 
                            show: false,
                            textStyle: 
                                color: '#fff'
                            
                        
                    ,
                    roam: true,
                    itemStyle: 
                        normal: 
                            areaColor: '#031525',
                            borderColor: '#0227ad',
                        ,
                        emphasis: 
                            areaColor: '#2B91B7'
                        
                    ,
                    animation: false,
                    data: data
                
            ]
        ;
        myChart.setOption(option);
    

实现效果


下一篇中,我们将实现根据项目,用一个符号通过大小变换,显示项目数量的多少。

以上是关于数据可视化项目分布地图设计之修改地图样式的主要内容,如果未能解决你的问题,请参考以下文章

数据可视化项目分布地图设计之显示省份地图

全国疫情统计可视化地图

[原创.数据可视化系列之二]使用cesium三维地图展示美国全球军事基地分布

地图数据可视化工具测评

干货 | 可视化设计:地图四部曲之迁徙图

数据可视化系统搭建之图表篇|大简学苑