HightCharts开发总结
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开发总结的更多相关文章
- odoo开发笔记 -- odoo仪表板集成hightcharts
highcharts图表插件初探 http://www.cnblogs.com/liubei/p/highchartsOption.html
- highcharts插件使用总结和开发中遇到的问题及解决办法
这里使用的highchart是2014-01-09从官网下载的版本,版本号是3.0.8, 当过了几天后,发现版本号变成了3.0.9,不由得的感叹highchart的版本更新之快. 在jsp中使用hig ...
- ASP.NET MVC+HighCharts开发统计图表
HighCharts是开源的Web图表js组件,与D3.js一样,经常用于数据可视化.HighCharts图表类型丰富,功能非常强大,是很好的数据可视化解决方案,其官方网站为:http://www.h ...
- 避免重复造轮子的UI自动化测试框架开发
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 使用HTML5开发Kinect体感游戏
一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...
- Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记
以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
随机推荐
- 转:django在生成数据库时常常遇到的问题
真的很有用! http://blog.csdn.net/pipisorry/article/details/45727309
- (转)Android高性能编程(2)--延迟初始化
上一篇文章,讲到了很多Android应用开发中需要注意的性能和内存方面的技巧.这一篇文章就是从smali指令级来分析性能优化和内存优化的问题. 如何解决界面启动时间开销大的问题 我们在编写Androi ...
- new JSONObject()报错
如果缺少下列依赖包会报错: 1.commons-beanutils-1.7.0.jar 2.commons-collections-3.2.1.jar 3.commons-lang-2.3.jar 4 ...
- vs2003属性窗口空白的问题
一个困扰很久的问题一直没有解决,因为vs的属性窗口没显示不方便修改mfc程序的id和属性等等,但是可以直接在代码里修改.问题始终是问题,最近准备画时间解决之,上网差资料搜索办法,一帖说是win7的问题 ...
- MySQL 优化器
(system@127.0.0.1:3306) [trunk]> show variables like '%performance_sch%';+----------------------- ...
- PHP函数(四)-变量函数
变量函数 将声明的函数的函数名赋给一个变量,通过该变量来调用函数 <?php function Calculate($a,$b){ return $a + $b; } echo "计算 ...
- List转Datatable 新方法
方法1,最简单的转换 DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("name ...
- el表达式动态拼接变量_c:set的用法
转自:https://blog.csdn.net/xb12369/article/details/39581955如 何在${}中使用${},例:${user.name_${user.id}},use ...
- Oracle11gR2--SEC_CASE_SENSITIVE_LOGON参数解析
在Oracle的11g之前的版本中密码是不区分大小写的(使用双引号强制除外). 在Oracle的11g以及以后的版本中对此有所增强.从此密码有了大小写的区分. 这个大小写敏感特性是通过SEC_CASE ...
- 如何编写Word文档 多级编号
每次都忘 选择这个带标题的 这样可以根据标题来指定分级