一:情景

做一个柱状图,需要在柱状图显示lable,并且浮窗上每个条目可以被点击或者跳转。

我使用的做图插件是echarts,但是echart的浮窗是图片,而且不可以被点击,不能识别html,而且这个需求在2017年就提给官方,而官方并没有实现这个需求。因为项目做到一半,不更换,highchart虽然提供了类似解决方案,但是布局不满足需求。

二:解决方案:

通过heighchart的实现方式,就是通过自定义的浮窗来实现这个功能,于是我查找echarts官方文档是否提供每个柱状图的具体相对图形的坐标API,幸好echart提供了这个API

    var model = myChart.getModel();
var seriesModel = model.getSeriesByIndex();
var data = seriesModel.getData();
var dataPostion=[];
data.each(function (idx) {
var layout = data.getItemLayout(idx);
// console.log(layout);
dataPostion.push({x:layout.x,y:layout.y}); })

1、首先我们渲染出图。然后获取model

var model = myChart.getModel();

2、获取echart的所有相关数据

var data = seriesModel.getData();

3、通过遍历我们获取对应的坐标信息。

var layout = data.getItemLayout(idx);

4、layout就有我们的对应的柱状图的相对当前图的坐标信息。

x:layout.x,y:layout.y

5、我们可以根据对应的坐标,通过css的postion来实际定位每个浮窗位置。同时我们可以给浮窗加任意你想要做的事件。

echart自定义浮窗 增加点击事件的更多相关文章

  1. ISO给UIImageView增加点击事件

    自己做了一个九宫格,里面的图标都是由多张图片重叠构成,然后包装成一个button来使用: 遇到的问题是如何给这个“button”增加点击事件? 解决思路1:网友提示在该“button”上增加一个真正的 ...

  2. echart字符云之添加点击事件

    // 路径配置 require.config({ paths : { echarts : 'jquery/echarts-2.2.7/build/dist' } }); // 使用EChart.js画 ...

  3. 百度echarts扇形图每个区块增加点击事件

    效果图:操作人员要求 :我想看这个扇形图对应的 页面信息,给我加个链接跳转:原先的chart.js发现没有api,后来改用百度的echart.js <!DOCTYPE html> < ...

  4. Extjs grid column里添加button等html标签,并增加点击事件

    Extjs里有个actioncolumn,但actioncolumn只能添加一系列button,不能既有字又有button 如何能在column里增加html标签,并给button添加事件呢? 1. ...

  5. android 自定义listview无法响应点击事件OnItemClickListener

    如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我 ...

  6. 在循环中如何取input的值和增加点击事件

    {volist name="dianpu" id="dianpu"} <input style="border: none;" rea ...

  7. Dialog 自定义使用3(回调点击事件)

    1 , Dialog布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns ...

  8. 浮窗WindowManager view返回和Home按键事件监听

    出于功能需求,需要在所有的view之上显示浮窗,于是需要在WindowManager的View上处理返回键的响应, mFloatingWindowView = layoutInflater.infla ...

  9. Android 自定义View——自定义点击事件

    每个人手机上都有通讯录,这是毫无疑问的,我们通讯录上有一个控件,在通讯录的最左边有一列从”#”到”Z”的字母,我们通过滑动或点击指定的字母来确定联系人的位置,进而找到联系人.我们这一节就通过开发这个控 ...

随机推荐

  1. Filter防止用户访问一些未被授权的资源

    package com.drp.util.filter; import java.io.IOException; import javax.servlet.Filter; import javax.s ...

  2. 17.Odoo产品分析 (二) – 商业板块(10) – 电子商务(1)

    查看Odoo产品分析系列--目录 安装电子商务模块 1. 主页 点击"商店"菜单:  2. 添加商品 在odoo中,你不用进入"销售"模块,再进入产品列表添加产 ...

  3. 切换横竖屏的时候Activity的生命周期变化情况

    关于这个,有个博客说得比较清楚:http://blog.csdn.net/wulianghuan/article/details/8603982,直接给出链接,哈哈哈.

  4. 小程序实践(三):九宫格实现及item跳转

    效果图: 实现效果图红色线包含部分的九宫格效果,并附带item点击时间. --------------------------------------------------------------- ...

  5. 浅谈Kotlin(二):基本类型、基本语法、代码风格

    浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 通过上面的文章,在A ...

  6. css 布局之定位 相对/绝对/成比例缩放

    给body添加 overflow: hidden; 可以将页面所有的 滚动条隐藏,但必须要给body 设置一个高度 overflow: hidden; height:864px; 父元素必须要设置 p ...

  7. python3接收、解析邮件

    邮件接收 python3可以使用poplib.POP3进行邮件接收,具体如下: import poplib from email.parser import Parser def get_email( ...

  8. Linux 最小化安装后IP的配置(手动获取静态IP地址)

    一.图形化界面配置(假设为电脑A) 如果你的Linux安装有图形化界面,那么通过以下方式来配置: 我这里是有两块网卡,第一个网卡在上篇中已经通过DHCP来配置了:Linux 最小化安装后IP的配置(D ...

  9. mssql sqlerver 脚本 计算数据表的结余数的方法分享

    转自:http://www.maomao365.com/?p=5710 摘要:今天接到一个需求,有一张数据表,记录的是消费明细数据,现在需要做一个累计结余,记录每次的数据结余合计,下文将展示一种sql ...

  10. 卸载安装node npm (Mac linux )

    1. 卸载node npm (1) 先卸载 npm: sudo npm uninstall npm -g (2) 然后卸载 Node.js. (2.1) 如果是 Ubuntu 系统并使用 apt-ge ...