HighchartsJS 是一款功能强大、开源、美观、图表丰富、兼容绝大多数浏览器的纯js图表库,目前最新版本库是Highcharts 4.1.9。另外,HighchartsJS还提供很多的插件和第三方扩展,但那些不是本文所要描述的主要内容,在此不表。笔者只说说自己曾经使用过的案例以及对案例的注释。

笔者已经用HighchartsJS创建过两种关于统计类的图表实例,一种是点状的带标识的,如图:

另外一种是环形带标识的,如图:

下面是HighchartsJS创建环形图表实例代码:

引用(基于jq,jq和highcharts.js请自行去官网下载):

  1. <script type="text/javascript" src="jquery.min.js"></script>
  2. <script type="text/javascript" src="highcharts.js"></script>

HTML code:

  1. <div id="chart" class="chart"></div>

CSS code:

  1. <style>
  2. *{margin:;padding:;}
  3. .chart{height:600px;}
  4. </style>

JS code:

  1. <script>
  2. $(function(){
  3.  
  4. //饼状图
  5. var categories = ['财富定期', '消费理财', '财富快乐宝', '财富活期'],
  6. data = [{
  7. drilldown: {
  8. name: '',
  9. categories: ['财富定期', '消费理财', '财富快乐宝', '财富活期'],
  10. data: [25, 25, 25, 25], //数据,即this.y
  11. }
  12. }];
  13.  
  14. // 创建数组
  15. var fuhuiData = [];
  16. var percentData = [];
  17. for (var i = 0; i < data.length; i++) {
  18. // 添加名称
  19. fuhuiData.push({
  20. name: categories[i],
  21. y: data[i].y,
  22. });
  23.  
  24. // 添加百分比
  25. for (var j = 0; j < data[i].drilldown.data.length; j++) {
  26. var brightness = 0.2 - (j / data[i].drilldown.data.length) / 5 ;
  27. percentData.push({
  28. name: data[i].drilldown.categories[j],
  29. y: data[i].drilldown.data[j],
  30. });
  31. }
  32. }
  33.  
  34. // 创建图表
  35. $('#chart').highcharts({
  36. chart: {
  37. type: 'pie' //图表的类型
  38. },
  39. title: { //设置标题并将标题置于环形图表中间
  40. text: '<span style="font-size:50px;font-family:Arial;color:#606060;" >100.00</span><span style="color:#606060;"> 元</span>'+'<br><span style="font-size:18px;color:#606060;">总资产</span>',
  41. verticalAlign: 'middle',
  42. },
  43. yAxis: {
  44. title: {
  45. text: ''
  46. }
  47. },
  48. plotOptions: {
  49. pie: {
  50. size: '50%',
  51. innerSize: '86%', //配置环形大小
  52. shadow: false,
  53. center: ['50%', '50%'], //水平和垂直方向居中
  54. colors: [ //设置饼状图的颜色
  55. '#f25252', //第一个颜色
  56. '#9e6df0', //第二个颜色
  57. '#f9823a', //第三个颜色
  58. '#77aaee', //第三个颜色
  59. ],
  60. dataLabels: {
  61. //connectorColor: '#f00', //设置连接线的颜色
  62. style: { //设置标识文字的样式
  63. color: '#424242',
  64. fontSize: '18px',
  65. fontWeight: 'normal', //字体不加粗
  66. },
  67. }
  68. }
  69. },
  70. tooltip: {
  71. valueSuffix: '%'
  72. },
  73. series: [{
  74. name: '百分比', //数据列名
  75. data: percentData,
  76. dataLabels: {
  77. formatter: function() {
  78. // display only if larger than 1
  79. //return this.y > 1 ? '<b>'+ this.point.name +':</b> '+ this.y +'%' : null; //这串代码设置了加粗
  80. return this.y > 1 ? ''+ this.point.name +': '+ this.y +'%' : null;
  81. }
  82. }
  83. }],
  84. credits: {
  85. enabled:false, // 默认值,如果想去掉版权信息Highcharts.com,设置为false即可
  86. }
  87. });
  88.  
  89. //设置饼状图中间文字的上下间隔
  90. $(".highcharts-title").find("tspan").last().attr("dy",43);
  91.  
  92. })
  93.  
  94. </script>

点击下载HighchartsJS创建环形图表实例DEMO

HighchartsJS创建环形带标识的图表实例的更多相关文章

  1. HighchartsJS创建点状带标识的图表实例

    上一篇我发布的是关于 HighchartsJS创建环形带标识的图表实例, 从那篇文章就可以看出 HighchartsJS 确实是一款功能很强大的图表库.利用它,我们可以在项目中创建出我们所需要的图表来 ...

  2. php创建新用户注册界面布局实例

    php创建新用户注册界面布局实例 <!DOCTYPE> <html> <head> <title>Load page</title> < ...

  3. [转] 请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧

    这帖是用来回复高级语言虚拟机圈子里的一个问题,一道Java笔试题的. 本来因为见得太多已经吐槽无力,但这次实在忍不住了就又爆发了一把.写得太长干脆单独开了一帖. 顺带广告:对JVM感兴趣的同学们同志们 ...

  4. Vue01 Vue介绍、Vue使用、Vue实例的创建、数据绑定、Vue实例的生命周期、差值与表达式、指令与事件、语法糖

    1 Vue介绍 1.1 官方介绍 vue是一个简单小巧的渐进式的技术栈,它提供了Web开发中常用的高级功能:视图和数据的解耦.组件的服用.路由.状态管理.虚拟DOM 说明:简单小巧 -> 压缩后 ...

  5. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)

    使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...

  6. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)

    这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...

  7. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)

    梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...

  8. 请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧---转

    http://www.iteye.com/topic/774673 羞愧呀,不知道多少人干过,我也干过,面壁去! 这帖是用来回复高级语言虚拟机圈子里的一个问题,一道Java笔试题的. 本来因为见得太多 ...

  9. 在 QML 中创建 C++ 导入类型的实例

    在 QML 中创建 C++ 导入类型的实例 文件列表: Project1.pro QT += quick CONFIG += c++ CONFIG += declarative_debug CONFI ...

随机推荐

  1. 六款小巧的HTTP Server[C语言]

    1.micro_httpd - really small HTTP server特点: 支持安全的 .. 上级目录过滤 支持通用的MIME类型 支持简单的目录 支持目录列表 支持使用 index.ht ...

  2. windows phone SDK 8.0 模拟器异常 0x89721800解决办法

    删除 APPDATA\LOCAL\Microsoft\Phone Tools\CoreCon\10.0 从新启动即可!

  3. 第二十四篇:导出SOUI对象到LUA脚本

    LUA是一种体积小,速度快的脚本语言.脚本语言虽然性能上和C++这样的Naitive语言相比差一点,但是开发速度快,可以方便的更新代码等,近年来受到了越来越多开发者的重视. 在SOUI框架中,我把脚本 ...

  4. 遍历CallBack对象 和 HHIVE对象

    内核中有个PLIST_ENTRY CmpHiveListHead;CmpHiveListHead = &CMHIVE.HiveList; CMHIVE结构如下:kd> dt _CMHIV ...

  5. -webkit-text-size-adjust

    ios使用-webkit-text-size-adjust禁止调整字体大小 body{-webkit-text-size-adjust: 100%!important;} android使用以下代码, ...

  6. yaml官方介绍

    官方网站 http://yaml.org/ 数据结构类型说明 http://yaml.org/type/ YAML Specification http://yaml.org/spec/

  7. Oracle注入漏洞

    sqlmap.py -u "http://10.7.82.123:9104/servlet/json" --cookie="JSESSIONID=abcgk26KDf_5 ...

  8. python 简单的txt文件读写

    1 读取txt文件.跟c相比,python的文件读写简直是方便的可怕 首先是读取文件 首先获得文件名称,然后通过 open函数打开文件,通过for循环逐行读出文件内容 #!python file by ...

  9. Codeforces Round #375 (Div. 2) - D

    题目链接:http://codeforces.com/contest/723/problem/D 题意:给定n*m小大的字符矩阵.'*'表示陆地,'.'表示水域.然后湖的定义是:如果水域完全被陆地包围 ...

  10. SPOJ SUBST1 后缀数组

    题目链接:http://www.spoj.com/problems/SUBST1/en/ 题意:给定一个字符串,求不相同的子串个数. 思路:直接根据09年oi论文<<后缀数组——出来字符串 ...