1、   简介:Highcharts是一款纯javascript编写的图表库,能够在Web网站或Web应用中添加交互性的图表,现在官方的最新版本为Highcharts-4.2.3。

2、   兼容性:Highcharts基本支持目前所有IE6+ 的现代浏览器,Highcharts在标准(W3C标准)浏览器中使用SVG技术渲染图形,在遗留的IE浏览器中使用VML技术来绘图。

3、   图表类型: Highcharts目前支持直线图、曲线图、面积图、曲线面积图、面积范围图、曲线面积范围图、柱状图、柱状范围图、条形图、饼图、散点图、箱线图、气泡图、误差线图、漏斗图、仪表图、瀑布图、雷达图,共18种类型图表,其中很多图表可以集成在同一个图形中形成综合图。

在线演示:http://www.hcharts.cn/demo/highcharts.php

4、   API接口:提供丰富的API接口,方便在创建图表后对图表的任意点、线和文字等进行增加、删除和修改操作;可以针对每个轴设置其位置、文字和样式等属性;当鼠标悬停在图表上的数据点时,会显示信息提示框,显示的内容和样式可以指定和设置。开发文档http://www.hcharts.cn/api/index.php

5、   图标导出打印功能:需引入exporting.js文件,需要对menu汉化,汉化方法有两种:一、直接更改exporting.js文件,注意引入js文件时需要指定charset="GB2312"编码格式。(不推荐使用本方法)

二、利用API提供的属性更改

$('#container').highcharts({

exporting: {

buttons: {

contextButton: {

menuItems: [{}, {}]

}

}

}

}) 具体参考API文档。

6、   自适应:开发文档chart中提供的reflow属性,会使得图表根据div大小改变,但经测试该属性并不起作用,如果图表在dialog中可以再onResize方法中调用

$('#container').highcharts().reflow()来实现自适应;

注意:如果在IE7/8下,div的宽高设置的为100%,highcharts拿不到div实际的宽高,需要指定其宽高:

$("#container").width($("父div").width());

$("#container").height($("父div ").height());

1、   获取select区域横坐标的边缘值

通过提供的events的selection方法中的event.xAxis可以得到选中区域横坐标的最大、最小值,不过这个值是以 1 为单位长度的横坐标长度的,也就是说如果横坐标使用了categories数组,最小值为5就对应数组的categories[5]的值,为了获取更准确的值采用了下面方法计算边缘值:

//以 1 为单位长度的横坐标长度

var minFloat = event.xAxis[0].min;

var maxFloat = event.xAxis[0].max;

//向下取整

var minInt = Math.floor(minFloat) < 0 ? 0 : Math.floor(minFloat);

var maxInt = Math.floor(maxFloat);

var minRealValue = Math.floor((categoriesArray[minInt + 1] - categoriesArray[minInt]) * (minFloat - minInt)) + Number(categoriesArray[minInt]); //横坐标实际最小值,向下取整

var maxRealValue = Math.ceil((categoriesArray[minInt + 1] - categoriesArray[minInt]) * (maxFloat - maxInt)) + Number(categoriesArray[maxInt]); //横坐标实际最大值, 向上取整

更多详情请参考http://www.hcharts.cn/demo/highcharts.php

HightCharts开发总结的更多相关文章

  1. odoo开发笔记 -- odoo仪表板集成hightcharts

    highcharts图表插件初探 http://www.cnblogs.com/liubei/p/highchartsOption.html

  2. highcharts插件使用总结和开发中遇到的问题及解决办法

    这里使用的highchart是2014-01-09从官网下载的版本,版本号是3.0.8, 当过了几天后,发现版本号变成了3.0.9,不由得的感叹highchart的版本更新之快. 在jsp中使用hig ...

  3. ASP.NET MVC+HighCharts开发统计图表

    HighCharts是开源的Web图表js组件,与D3.js一样,经常用于数据可视化.HighCharts图表类型丰富,功能非常强大,是很好的数据可视化解决方案,其官方网站为:http://www.h ...

  4. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  5. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  6. 使用HTML5开发Kinect体感游戏

    一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...

  7. Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记

    以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...

  8. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  9. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

随机推荐

  1. (转)Eclipse 扩大内存

    导入整个大工程的时候 Eclipse总是直接黑屏 然后就不可操作了.就算侥幸进入了Eclipse也会突然在复制,或者 查询某些语句的时候黑屏.极度的影响心情和工作效率. 明显是内存不够的感觉,可是电脑 ...

  2. React组件传值方式总结

    1. 子组件向父组件传值 父组件Header: import Nav from 'Nav.js'; class Header extends React.Component { constructor ...

  3. Tomcat起了一个测试桩,调用该测试桩无响应

    有时在测试新业务流程时因为涉及多个不同接口的调用,而这些被调用的服务端因为网络权限或开发进度问题暂时对我们不可达,那么我们可以通过模拟接口返回来完成我们新业务的测试.这次碰到的问题是我明明起了该测试桩 ...

  4. FPGA中计数器设计探索

    FPGA中计数器设计探索,以计数器为32位为例: 第一种方式,直接定义32位计数器. reg [31:0]count; quartus ii 下的编译,资源消耗情况. 85C模型下的时钟频率. 0C模 ...

  5. Redis数据清除问题

    Redis中数据清除可以分为两种方式 手动清除:指定要清除的key,通过delete命令即可清除 自动清除:使用Redis提供的数据过期策略 Redis数据过期策略      redis提供了非常灵活 ...

  6. 【转】Jmeter压力测试模拟并发

    jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi JMeterPlugins(jmeter插件):http://jmeter-plugin ...

  7. socket粘包现象加解决办法

    socket粘包现象分析与解决方案 简单远程执行命令程序开发(内容回顾) res = subprocess.Popen(cmd.decode('utf-8'),shell=True,stderr=su ...

  8. java成神之——enum枚举操作

    枚举 声明 枚举遍历 枚举在switch中使用 枚举比较 枚举静态构造方法 使用类来模拟枚举 枚举中定义抽象方法 枚举实现接口 单例模式 使用静态代码快 EnumSet EnumMap 结语 枚举 声 ...

  9. Swift中用正规表达式判断String是否是手机号码

    func isTelNumber(num:NSString)->Bool { var mobile = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$&qu ...

  10. MIDL相关

    根据MIDL的语义, 指针总被认为是指向单一元素而不是数组.因此以上方法中只有串中的第一个字符被封送.为此,MIDL引入了[string]特性来说明传递的是一个字符串 http://www.cnblo ...