echarts点击图形显示弹窗(自定义弹窗样式)

echarts点击图形板块区域,弹出自定义弹窗,echarts提供了api可以配置,在tooltip属性进行配置,案例如下:

option = {
  title: {
    text: 'Referer of a Website',
    subtext: 'Fake Data',
    left: 'center'
  },
  tooltip: {
    // 鼠标是否可以进入悬浮框
    enterable: true,
    // 触发方式 mousemove, click, none, mousemove|click
    triggerOn: 'click', 
    // item 图形触发, axis 坐标轴触发, none 不触发
    trigger: 'item', 
    // 浮层隐藏的延迟
    hideDelay: 800,
    // 背景色
    backgroundColor: 'rgba(0,0,0,0)',
    formatter: function (params) {
    	return '<div class="chartLabel">'+
    	'<div class=title>'+params.name+'</div>'+
    	'</div>'
    }
  },
  legend: {
    orient: 'vertical',
    left: 'left'
  },
  series: [
    {
      name: 'Access From',
      type: 'pie',
      radius: '50%',
      data: [
        { value: 1048, name: 'Search Engine' },
        { value: 735, name: 'Direct' },
        { value: 580, name: 'Email' },
        { value: 484, name: 'Union Ads' },
        { value: 300, name: 'Video Ads' }
      ],
      emphasis: {
        itemStyle: {
          shadowBlur: 10,
          shadowOffsetX: 0,
          shadowColor: 'rgba(0, 0, 0, 0.5)'
        }
      }
    }
  ]
};

通过formatter生成自定义dom,然后就可以用css控制样式了。

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现在 echarts 地图上点击标注后显示弹窗,您可以按照以下步骤操作: 1. 首先,在 echarts 的配置项中设置相关的标注信息。您可以使用 `series` 属性中的 `markPoint` 或 `markLine` 来添加标注。确保每个标注都有一个唯一的标识符,以便后续操作。 2. 在页面中创建一个弹窗元素,可以是一个 `<div>` 元素,用于显示点击标注后的信息。 3. 监听 echarts 地图的 `click` 事件。当用户点击标注时,该事件会被触发。 4. 在点击事件的回调函数中,获取被点击的标注的信息。您可以使用 `event.data` 获取事件对象,通过该对象可以获取到被点击的标注的标识符。 5. 根据标识符找到对应的标注信息,并将其内容显示弹窗元素中。 下面是一段示例代码,帮助您更好地理解以上步骤: ```javascript // 创建一个 echarts 实例 var chart = echarts.init(document.getElementById('chart')); // 设置 echarts 的配置项 var option = { // 设置地图相关配置... series: [ { type: 'map', // 设置地图系列的数据... }, { type: 'markPoint', // 设置标注相关配置... } ] }; // 将配置项设置给 echarts 实例 chart.setOption(option); // 创建一个弹窗元素 var popup = document.createElement('div'); popup.style.position = 'absolute'; popup.style.top = '0'; popup.style.left = '0'; // 设置其他弹窗样式... // 监听 echarts 地图的 click 事件 chart.on('click', function (params) { if (params.seriesType === 'markPoint') { // 获取被点击的标注的标识符 var id = params.data.id; // 根据标识符找到对应的标注信息 var markPointData = option.series.find(function (series) { return series.type === 'markPoint' && series.data.some(function (data) { return data.id === id; }); }); // 将标注信息显示弹窗元素中 popup.innerHTML = markPointData.name; // 显示弹窗... } }); ``` 请根据您的具体需求进行相应的修改和适配。以上代码仅为示例,实际应用中可能还需要处理弹窗的位置、样式等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值