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. Oracle Database 12.2新特性详解

    在2015年旧金山的Oracle OpenWorld大会上,Oracle发布了Database 12.2的Beta版本,虽然Beta版本只对部分用户开放,但是大会上已经公布了12.2的很多重要的新特性 ...

  2. CAN总线远程帧和错误帧

    远程帧 通常,数据传输是由数据源节点(例如,传感器发出数据帧)自主完成的.但也可能存在目标节点向源节点请求发送数据的情况.要做到这一点,目标节点需发送一个远程帧,其中的标识符应与所需数据帧的标识符相匹 ...

  3. LevelDB Cache实现机制分析

    几天前淘宝量子恒道在博客上分析了HBase的Cache机制,本篇文章,结合LevelDB 1.7.0版本的源码,分析下LevelDB的Cache机制. 概述 LevelDB是Google开源的持久化K ...

  4. 20181101_将WCF寄宿到控制台

    使用管理员权限打开VS2017 2. 创建以下代码进行测试: a)         创建一个空白解决方案 b)         创建三个类库文件 c)         IMathService代码如下 ...

  5. AOP(面向切面编程概念,本文为翻译)

    AOP是什么 AOP为Aspect Oriented Programming的缩写.AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型.利用 ...

  6. python内置常用内置方法详解

    # print(locals()) # print(globals()) def func(): x = 1 y = 1 print(locals()) # 函数内部的变量 print(globals ...

  7. oracle创建表空间、创建用户

    create user user_name identified by user_name create temporary tablespace user_name_temp tempfile '/ ...

  8. 用Python语言设计GUI界面

    我们大家都编写过程序,但是如果能够设计一个GUI界面,会使程序增添一个很大的亮点!今天就让我们来用目前十分流行的python语言写出一个最基本的GUI,为日后设计更加漂亮的GUI打下基础. 工具/原料 ...

  9. infos

    C++文件流 iostream 提供了cin cout 分别用于从标准输入读取流和向标准输出写入流cout 标准输出 屏幕 输出写入fstream文件流 cin 从标准输入读取cout 向标准输入写入 ...

  10. ARM六种寻址方式的汇编实现

    AREA Example,CODE,READONLY ENTRY CODE32 ;S 后缀:更新标志位CPSR ;!后缀:基址寄存器中的地址发生变化 ;LDR 从存储器中加载数据到寄存器 ;STR 从 ...