由于项目需要,学习并使用了Highcharts图表插件,这是一款功能强大、开源、美观、图表丰富、兼容绝大多数浏览器的纯js图表库插件。

Highcharts简介

下边的介绍来自Highcharts中文网
Highcharts是一款纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图、曲线图、面积图、柱状图、饼图、散点图等多达18种不同类型的图表,可以满足你对Web图表的任何需求 !
Highcharts优势:兼容性好,开源,纯js,图表丰富,动态,多轴,能够导出和打印,支持缩放和加载外部数据。
另外,Highcharts 的运行需要两个 JS 文件, highcharts.js 及 jQuery 、 MooTools 、Prototype 、Highcharts Standalone Framework 常用 JS 框架中的一个。

目前Highcharts也有了中文网站,网址:http://www.hcharts.cn/ 方便大家学习使用,但是该网站的的API部分的汉化还在完善中,可以在这里学习和下载。在此感谢他们的无私奉献。

Highcharts API

虽然中文网站的汉化还未完全,但是看API的话还是推荐去Highcharts中文网,有详尽的解释和实例
API地址:
http://www.hcharts.cn/api/index.php
顺便一说他的搜索功能确实很好用=w=

项目实例

Highcharts中有多种图表,在使用中各个图表之间的差异不大,在这里我单独拿出一个比较有代表性的图表作为实例,并且会做详尽的注释,配合API阅读,应该能快速入门。
同时,我在两个饼图之间设置的联动,默认显示左边供应商的分布,当点击该饼图的一部分时,右边加载该供应商下所有工厂的分布图。

例子例子:


//Supplier1_factory begin       //右边的被联动的图表,显示每个供应商的工厂
var SupChartMain = new Highcharts.Chart({chart:{renderTo:"sup1", //图表插入id为他的divtype:"pie",  //类型是饼图height:298,width:520,margin:0,plotBackgroundColor:null,//背景色plotBorderWidth:null,//边框plotShadow:false,//阴影},colors:['#e74c3c','#c0392b','#D35400','#E67E22','#bdc3c7','#95a5a6','#7f8c8d','#34495E','#2C3E50','#ecf0f1'],//每一项的颜色设置title:{//图表标题text:'Please choose a supplier...'},credits:{//是否有highcharts水印enabled:false},tooltip:{//鼠标hover之后的小tip显示Order:  变量用大括号,根据数据结构取出即可pointFormat: 'Order:{point.x}',},legend: { //图例align:'left',  //放左边layout: 'vertical',  //改为垂直分布verticalAlign:'top',  //放上边y:40,//相对位置微调x:-20,itemStyle:{//每一项的样式fontWeight:'400',color:'#666'}},plotOptions:{       pie:{  allowPointSelect:true,  //允许点击选中数据animation:true,  //动画效果states:{  hover:{brightness:0,}},dataLabels:{  //数据标签enabled:true,  //启用distance:-15,  //位置formatter:function(){  //显示该数据的y%return this.y + '%';},style:{  //样式fontWeight:"400",color:"#fff",fontSize:'11px'}},  events: {  //增加点击事件click: function(e) {var sup_id = this.data[e.point.index].sup_id;//得到点击的数据draw_factory_coverage(SupplyChart.mydata,sup_id);//这里是通过点击,画了一个新的饼图,其中SupplyChart.mydata是画这个饼图需要的参数,sup_id是该参数中我们点击的这部分数据的id}},cursor: 'pointer', //手指效果showInLegend: true, //在图例中显示startAngle:0,  //开始角度  endAngle:360,  //结束角度  这样设置就是一个完整的圆center:['50%', '50%'],   //位置}},series:[{  type:'pie',//饼图innerSize:'85%',//这里设置内边距,把饼图变成了圆环图data:[1]}]
});//下边是画图的函数,其实就是整理数据然后传入图表对象
function draw_supplier_coverage(jdata_sups){on_chart_load_complete(chart_factory_coverage_name);     if( jdata_sups.result != "success"){alert("load inspector workload data failed");return;}var sups= [];   //存放最终数据的数组var orders = [];    //存放各个供应商总订单数的数组var total_order = 0;  //所有供应商总订单数for(var i=0;i<jdata_sups.sups.length;i++){var y = 0;  //该供应商的总订单数for(var j=0;j<jdata_sups.sups[i].factorys.length;j++){y+= jdata_sups.sups[i].factorys[j].orders;}orders[i] = y;   total_order+=y;}for(var i=0;i<jdata_sups.sups.length;i++){var percent =Math.round( orders[i]*100/total_order );sups[i] = {'name':jdata_sups.sups[i].sup_name,'x':orders[i],'y':percent,'sup_id':jdata_sups.sups[i].sup_id};}//这里是圆饼图,一共就只有一个饼,所以series只有一个,就是series[0],对于圆饼图来说这里是固定的。SupplyChart.series[0].setData(sups);//设置标题var pie_text = '<p style="color:#7f8c8d;font-size:62px;">' + total_order +'</p>'+'<br/><p style="color:#999;font-size:20px;font-weight:normal;">Total<br/><span style="font-size:12px;color:#999;">(order)</pan></p>';var pie_title = {'text':pie_text,align:"center",verticalAlign:"middle",y:10,};SupplyChart.setTitle( pie_title);//给supplier图表对象额外增加一个值。把jdata_sups传给对象,方便点击对象的时候,从这里边取得工厂的数据SupplyChart.mydata=jdata_sups.sups;//左边画完之后,默认给右边画第一个。draw_factory_coverage(SupplyChart.mydata,SupplyChart.mydata[0].sup_id);
}

上边的两个例子,我都做了详尽的注释,基本上看一遍API,再过一遍例子,就能够很快学会这个插件了。以后需要的时候如果忘记了,再来回顾,也希望能帮到有需要的小伙伴们

(●’ω’●)丿❤

数据呈现图表插件Highcharts介绍+图表联动案例相关推荐

  1. 图表插件Highcharts的动态化赋值,实现图表数据的动态化设置显示

    在很早之前就介绍过图表插件Highcharts的使用了,在2014年的随笔<基于MVC4+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts>,这里基本上都介绍 ...

  2. JQuery图表插件Highcharts示例教程

    JQuery图表插件Highcharts示例教程,先上图,大伙Show一下效果:先上三个图,分别是曲线.柱状.扇形. 图表中的数据纯属于DEMO的测试数据,没有实际用意.下面讲下大致的实现步骤 第一步 ...

  3. jquery饼状图插件的指引线_JQuery图表插件Highcharts示例教程

    JQuery图表插件Highcharts示例教程,先上图,大伙Show一下效果:先上三个图,分别是曲线.柱状.扇形. 图表中的数据纯属于DEMO的测试数据,没有实际用意.下面讲下大致的实现步骤 第一步 ...

  4. 【jQuery】兼容IE6的图表插件Highcharts

    在网页中有时候需要画出统计图,尤其是一些OA系统中,这样能够给各位看官一个直观的数据显示.图表用很多东西都能画出来,比如JSP可以利用JAVA本身就有的绘图函数,php有jpgraph插件,具体请看& ...

  5. excel可视化图表插件_Excel新版图表插件EasyShu: 新型面积图

    历时365天,[Excel催化剂]与[EasyShu]联手升级的Excel图表插件EasyCharts 2.0版本-EasyShu,即将面世.接下来我们会陆陆续续介绍插件的各种功能,同时内测,等内测结 ...

  6. DataGear 自定义数据可视化图表插件

    DataGear内置的70余种图表(折线图.柱状图.饼图.散点图.雷达图.地图.桑基图.K线图.箱形图.路径图等等),都是以图表插件的形式提供的,当这些内置图表无法满足应用需求时,则可以通过自定义图表 ...

  7. html 圆圈图表插件,10款HTML5动画图表插件

    创建一个HTML5网页图表应用已经非常简单,利用Canvas更是能绘制出绚丽的动画效果,也就是说你的HTML5图表能动起来,给人不一样的用户体验.本文就主要来分享一些最常用的HTML5图表插件,不仅外 ...

  8. sparklines插件_21个实用的Javascript数据图表插件

    21个实用的Javascript数据图表插件 六月 16, 2015 评论 (2) Sponsor 今天主要和大家分享一些统计图表相关的JS插件,图表通常用在网站后台界面,作为一种可视化数据形式展示, ...

  9. 前端几种可视化大屏组件库图表插件介绍

    经理给我分配了可视化大屏数据项目,我看了好多组件库和去百度搜索,最后总结出几种比较好用的组件库来介绍一下,国外版本的我就直接抛弃了(英语1级) 1.Echarts官方网址 他是百度团队开源的,反正是老 ...

最新文章

  1. windows cmd 查看占用端口号PID并且结束进程
  2. css create 多边形 polygon
  3. 成功解决You are using pip version 9.0.1, however version 9.0.3 is available. You should consider upgra
  4. C++与Java多态的区别
  5. kpmg java_【毕马威(KPMG)工资】java开发工程师待遇-看准网
  6. 最小可行产品是什么_无论如何,“最小可行产品”到底意味着什么?
  7. [置顶] 任务三 主题、样式
  8. JavaScript中的正则表达式详解
  9. MyBatis深入(2)-项目结构
  10. java编写关机恶搞程序,恶搞关机脚本代码 | 学步园
  11. 在平面国生活,会是怎样的体验?
  12. 固化来自哈佛,创新来自斯坦福
  13. python documents in chinese_python xlwt 设置 格式
  14. 介绍两种游标cursor与sys_refcursor
  15. 物联网与AI芯片密不可分 企业加速跑马圈地
  16. matplotlib中文显示以及设置图片大小
  17. 【数据分析】:搭建数据分析业务工作流程
  18. DB 查询分析器 6.03 在Windows 8 上安装与运行演示
  19. java打怪升级地图
  20. Linux下查看某一进程占用的内存

热门文章

  1. 新手提问 请给为大哥指点迷津
  2. 运维之道 | Nginx rewrite 规则详解
  3. 韩顺平Java:qq项目离线发送接收消息/文件扩展
  4. 手机端 阅读 pdf 文件 touchPDF.js
  5. 《阿里巴巴Java工作手册》学习笔记
  6. 哇塞,炫云的智能优化太厉害啦!渲染费用竟然大幅降低了!
  7. read-only=true
  8. arduino学习中常用电机科普之直流有刷电机与无刷电机(本帖不讲程序,只讲电机原理与构造)
  9. 【Straw-Uniapp-uView】基于 Uniapp + uView 搭建项目基础模板
  10. 关于浏览器meta标签