Echarts实现中国地图涟漪点分布

1、效果图

在这里插入图片描述

2、完整配置项代码

可以直接把代码贴到官网看效果:
https://www.echartsjs.com/examples/zh/editor.html?c=map-polygon

option ={
    
    backgroundColor: '#0c1c30', // 图形容器背景色
    tooltip: {
    // 鼠标移到涟漪点上的浮动提示框
        borderWidth:1,
        borderColor:"#6E98FC",
        // formatter详细配置: https://echarts.baidu.com/option.html#tooltip.formatter
        formatter (params, ticket, callback) {
    // https://echarts.baidu.com/option.html#tooltip.formatter
        // params.data 就是series配置项中的data数据
        // console.log(params)
        let lossPercent,
          delay
        if (params.data) {
   
          lossPercent = params.data.lossPercent
          delay = params.data.delay
        } else {
   
          lossPercent = 0
          delay = 0
        }
        let htmlStr = `
            <div style='font-size:16px;'> ${
     params.name}</div><br/>
            <p style='text-align:left;margin-top:-10px;'>
            丢包率:${
     lossPercent}%<br/>
            延时:${
     delay}ms<br/>
            </p>`
        return htmlStr
      }
    }, 
    // grid: { // 网格配置
    //     show: true,
    //      backgroundColor: '#ddd'
    // },
    // 左下角指示颜色
    legend: {
   
      type: "plain",
      show: true,
      orient: 'vertical',
      //   top: 'bottom',
      bottom: '20',
      left: '3%',
      data: [
        {
   
          name: "非常好",
          icon: "circle",
          textStyle: {
   
            color: "#6ad86e"
          }
        },
        {
   
          name: "正常",
          icon: "circle",
          textStyle: {
   
            color: "#9adcfa"
          }
下面是一个简单的示例代码,演示如何在echarts涟漪效果地图中添加label击事件: ```javascript // 初始化echarts实例 var myChart = echarts.init(document.getElementById('myChart')); // 配置涟漪效果地图 var option = { series: [{ type: 'effectScatter', coordinateSystem: 'geo', data: [ {name: '北京', value: [116.46, 39.92]}, {name: '上海', value: [121.48, 31.22]}, {name: '广州', value: [113.23, 23.16]} ], rippleEffect: { brushType: 'stroke' }, label: { show: true, formatter: '{b}', position: 'right' }, itemStyle: { color: 'purple' } }], geo: { map: 'china', label: { emphasis: { show: false } }, roam: true, itemStyle: { normal: { areaColor: '#323c48', borderColor: '#111' }, emphasis: { areaColor: '#2a333d' } } } }; // 绑定label击事件 myChart.on('click', function (params) { if (params.componentType === 'series' && params.seriesType === 'effectScatter') { alert('您击了' + params.name); } }); // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); ``` 在上面的代码中,我们先初始化了一个echarts实例,然后配置了一个涟漪效果地图。在配置中,我们设置了一个label,用于显示地图上的城市名称。接着,我们通过`myChart.on('click', function (params) {...})`绑定了一个label击事件的处理函数。在处理函数中,我们判断`params.componentType`和`params.seriesType`是否分别等于`series`和`effectScatter`,如果是,则表示用户击了一个label,我们就可以通过`params.name`获取到该城市的名称,然后进行相应的处理。 注意,由于涟漪效果地图是基于geo组件实现的,因此我们需要在geo组件上绑定击事件,而不是在series组件上绑定。同时,我们还需要判断`params.seriesType`是否等于`effectScatter`,因为在涟漪效果地图中,我们使用了effectScatter类型的散图来展示城市的位置信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值