玩转Highcharts图表库系列(三) 给曲线加上点击事件
来源:互联网 发布:淘宝卖包包店铺名字 编辑:程序博客网 时间:2024/06/10 20:51
一般来说,曲线反应的是某个属性在一段时间内的波动变化。在Highchart曲线图上,把鼠标放到曲线上,那么随着鼠标的移动,该属性值也会显示出来方便查看。但是如果这个属性是一个复合属性,它还有更细致的组成部分需要被详细读出,那么最便捷的操作就是在曲线的这个点上进行点击操作了。
这个曲线是对总用电功率的分时展示,点击其中的任何点,都会更新一个弹出窗口,在弹出窗口里显示该点时刻用电功率排名前三的房间。
在Highcharts里添加这样的点击操作是设置Event字段属性,代码如下:
plotOptions: { spline: { allowPointSelect: true, cursor: 'pointer', //鼠标移到图表上时鼠标的样式 enableMouseTracking: true, //鼠标移到图表上时是否显示提示框 events: {//监听点的鼠标事件 click: function () { var x = (event.point.x - (Date.UTC(theYear, theMonth, theDay, 0, 0, 0, 0) + localOffset))/1000; var hour = Math.floor(x / 3600) > 9 ? Math.floor(x / 3600) : '0' + Math.floor(x / 3600); var minute = Math.floor((x % 3600) / 60) > 9 ? Math.floor((x % 3600) / 60) : '0' + Math.floor((x % 3600) / 60); var second = (x % 60) > 9 ? (x % 60) : '0' + (x % 60); var time = hour + ':' + minute + ':' + second; //alert(hour + ':' + minute + ':' + second + ',' + event.point.y); ShowMaxSubValues(time); } //mouseOver:function() { }, lineWidth: 2, states: { hover: { lineWidth: 3 } }, marker: { enabled: false } } },
这里获取鼠标点击点对应的X轴时间值,然后调用ShowMaxSubValues()方法。
// 获取某时刻即时功率最大的三个电表名称和数值,供鼠标点击曲线图数值时显示 function ShowMaxSubValues(time) { var date; // 日期 if (navtab.getSelectedTabItemID() == "tabitem1") { // 实时功率页面,取当前日期 date = new Date().format('yyyy-MM-dd'); } else { // 历史功率Tab2页面,取历史时间 date = $("#time").val(); } var parms = "time=" + date + " " + time + ".000"; // 构造datetime LG.ajax({ type: 'AjaxRealTimePower', method: 'GetMaxValuesAtTime', data: parms, success: function (ajaxData) { var json = ajaxData.topvaluesjson; // 设置浮动框内的内容 if ((json != null) && !$('#dragableBox').hasClass("hidden")) { $("#boxName").text(date + " " + time); if (json.length > 0) $("#POWER1").text(json[0].StationName + ' : ' + json[0].py); else $("#POWER1").text("无当日数据"); if (json.length > 1) $("#POWER2").text(json[1].StationName + ' : ' + json[1].py); else $("#POWER2").text(""); if (json.length > 2) $("#POWER3").text(json[2].StationName + ' : ' + json[2].py); else $("#POWER3").text(""); } } }); }
持续更新中。。。
玩转Highcharts图表库系列(一) 显示多条曲线
玩转Highcharts图表库系列(二) 沿X轴设置不同的背景色分辨带
玩转Highcharts图表库系列(三) 给曲线加上点击事件
玩转Highcharts图表库系列(四) 散点图和曲线图的混合显示
0 0
- 玩转Highcharts图表库系列(三) 给曲线加上点击事件
- 玩转Highcharts图表库系列(一) 显示多条曲线
- 玩转Highcharts图表库系列(四) 散点图和曲线图的混合显示
- 玩转Highcharts图表库系列(二) 沿X轴设置不同的背景色分辨带
- echarts图表文字显示问题,给图表添加点击事件
- (jQuery,Highcharts)前端图表系列之一 --Highcharts
- highcharts鼠标点击事件
- JavaScript Highcharts 图表库
- JavaScript- 图表库Highcharts
- 教你玩转TabHost(点击事件篇)
- 用Highcharts实现动态曲线图表的关键设置
- 三、highcharts 如何设置图表配置选项
- 纯js图表库-Highcharts
- jQuery图表(jqPlot,Highcharts)
- 点击事件加上颜色的点击效果
- android给 TextView 加上效果和事件响应 判断是否点击函数
- 给button增加点击事件时这个地方也加上了 UIControlEventTouchUpOutside 这个
- HighCharts 曲线
- 第13周SHH数据结构-【项目4-Floyd算法的验证 】
- redis(二)
- matlab_GUI_2 radiobutton
- 【Codeforces Testing Round 12A】【讨论 边界元素映射】Divisibility 区间范围内k倍数的数的个数
- UE4 Light Shafts
- 玩转Highcharts图表库系列(三) 给曲线加上点击事件
- mybatis+spring 事务管理
- Eclipse启动时发生An internal error occurred during: "Initializing Java Tooling".错误的解决
- Java基础之程序
- 黑马程序员—Java基础—面向对象
- ImageWithColor
- DML触发器实现日志功能
- 解决使用seletor点击改变背景时事件被上层布局获取的问题
- SpringMVC处理请求的流程