Highcharts图表控件是使用比较广泛的图表控件。本文将介绍如何配置Highcharts和动态生成Highcharts图表。可参考Highcharts官网:http://www.highcharts.com
1. 前言
Highcharts主要包含两个部分:Highcharts和Highstock。
Highcharts可以为网站和web应用程序提供直观、互动式的图表,目前支持:线、样条、面积、areaspline、柱形图、条形图、饼图和散点图类型。
Highstock可以建立股票或一般的时间轴图表,它包括先进的导航选项、预设的日期范围、日期选择器、滚动和平移等。
2. 安装
1.Highcharts沿用jquery,MooToo,Prototype等Javascript框架来处理基本的Javascript任务。所以,使用Highcharts之前,需要引用如下脚本文件。如果使用jQuery作为基本框架,那么需要在头部同时引用jQuery和Highcharts两个文件。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
<script src="/js/highcharts.js" type="text/javascript"></script>
Highcharts和Highstock内置了jQuery适配器,所以可以直接引用;但没有内置其他JavaScript框架的适配器,因此使用MooTools等其他JS框架时,需要单独引用适配器脚本文件。
<script src="https://ajax.googleapis.com/ajax/libs/mootools/1.3.0/mootools-yui-compressed.js" type="text/javascript"></script>
<script src="/js/adapters/mootools-adapter.js" type="text/javascript"></script>
<script src="/js/highcharts.js" type="text/javascript"></script>
3.国民体质统计结果展示
调用Highcharts代码对统计结果进行展示,js代码如下:
   //显示统计图
function ShowGraph(data) {
var xname = [];
var seriesData = [];
var series5 = {};
series5["name"] = "5";
var tempdata = [];
var project = $('#Project').find("option:selected").text();
var index = 0;
for (var i in data) {
if (project == "全部") {
tempdata.push(parseFloat(data[i]["C5Per"]));
xname[index++] = data[i]["Project"];
} else {
if (project == data[i]["Project"]) {
tempdata.push(parseFloat(data[i]["C5Per"]));
xname[index++] = data[i]["Project"];
}
}
}
series5["data"] = tempdata;
seriesData.push(series5);
var series4 = {};
series4["name"] = "4";
tempdata = [];
for (var i in data) {
if (project == "全部") {
tempdata.push(parseFloat(data[i]["C4Per"]));
} else {
if (project == data[i]["Project"]) {
tempdata.push(parseFloat(data[i]["C4Per"]));
}
}
}
series4["data"] = tempdata;
seriesData.push(series4);
var series3 = {};
series3["name"] = "3";
tempdata = [];
for (var i in data) {
if (project == "全部") {
tempdata.push(parseFloat(data[i]["C3Per"]));
} else {
if (project == data[i]["Project"]) {
tempdata.push(parseFloat(data[i]["C3Per"]));
}
}
}
series3["data"] = tempdata;
seriesData.push(series3);
var series2 = {};
series2["name"] = "2";
tempdata = [];
for (var i in data) {
if (project == "全部") {
tempdata.push(parseFloat(data[i]["C2Per"]));
} else {
if (project == data[i]["Project"]) {
tempdata.push(parseFloat(data[i]["C2Per"]));
}
}
}
series2["data"] = tempdata;
seriesData.push(series2);
var series1 = {};
series1["name"] = "1";
tempdata = [];
for (var i in data) {
if (project == "全部") {
tempdata.push(parseFloat(data[i]["C1Per"]));
} else {
if (project == data[i]["Project"]) {
tempdata.push(parseFloat(data[i]["C1Per"]));
}
}
}
series1["data"] = tempdata;
seriesData.push(series1);
$("#container").empty();
$('#container').highcharts({
colors: ['#a9d86e', '#ffb500', '#5eaee3', '#847eb6', '#e06292'],
chart: {
type: 'column',
options3d: {
enabled: true,
alpha: 15,
beta: 15,
viewDistance: 25,
depth: 40
}
},
title: {
text: '国民体质指标分析'
},
xAxis: {
categories: xname
},
yAxis: {
allowDecimals: false,
min: 0,
max: 100,
title: {
text: '比例'
}
},
tooltip: {
headerFormat: '<b>{point.key}</b><br>',
pointFormat: '<span style="color:{series.color}">\u25CF</span> {series.name}: 占{point.y}%'
},
plotOptions: {
column: {
stacking: 'normal',
depth: 40
}
},
series: seriesData
});
}
统计图:

Highcharts使用的更多相关文章

  1. Highcharts中国地图热力图

    最近有个项目需要将MC销量按大陆各省统计,并以中国地图人力图效果显示.由于项目一直使用Highcharts进行图表的统计,故采用Highmaps来实现. 效果如下: 1)中国各个省.直辖市.自治区: ...

  2. Highcharts入门小示例

    一.创建条形图 1.创建div容器 <div id="container" style="min-width:800px;height:400px"> ...

  3. Highcharts配置

    一.基础使用 <script src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js"></script> ...

  4. highcharts .net导出服务 和 两种导出方式

    highcharts 的Net导出服务  GitHub上整理的https://github.com/imclem/Highcharts-export-module-asp.net 引用两个程序集 sh ...

  5. 《Learning Highcharts》中文翻译

    在highcarts的官方网站上推荐了一本书,由于highchart在平时工作中会用到,所以我们尝试将其翻译成中文,仅作为学习highchart工具的一种方式,以方便日后查阅. 翻译图书作为学习笔记, ...

  6. highcharts饼状图使用案例

    在公司由于需要对订单数据进行分析,故使用到了highcharts工具 <block name="Js"> <script type="text/java ...

  7. highcharts

    preparation Highcharts Highcharts是一个制作图表的纯Javascript类库,主要特性如下: 兼容性:兼容当今所有的浏览器,包括iPhone.IE和火狐等等: 对个人用 ...

  8. highcharts使用笔记

    1.legend取消点击事件: 饼图:plotOptions.pie.point.events.legendItemClick = function() {return false;} 其他,如:pl ...

  9. FusionCharts和highcharts 饼图区别!

    FusionCharts ---------------脚本--------------- <script src="../../../fashioncharts/js/FusionC ...

  10. .net 下新版highcharts本地导出图片bug处理

    最近公司要用到highcharts这个插件来生成图表,所以我花了点时间研究了下. 现在最新的版本是3.0.2,这js插件居多优点就不比多说了,demo官网上也很详细.但是优点不爽的地方是,导出图片这个 ...

随机推荐

  1. 为什么当多个inline-block的div中,如果有的div没有内容而有的div有内容,有内容的会下沉?

    为什么当多个inline-block的div中,如果有的div没有内容而有的div有内容,有内容的会下沉? 就像这样 两个div高度相同,第二个我写了一个1当作 有内容吧,它就下沉了... 奇怪... ...

  2. Java(JCo3)与SAP系统相互调用

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. nginx 日志变量含义

    log_format logstash "remote_addr | $time_local | $request | $status | $body_bytes_sent | " ...

  4. Vue2随笔

    1. computed有缓存 methods没有缓存 慢慢更新中..... 2.Class与Style绑定 <div class="static" v-bind:class= ...

  5. phpstorm 设置Utf8编码

    点击file 再点击setting 找到file Encoding gbk改成utf-8就ok了

  6. vc6.0如何显示行号以及出现版本不兼容问题

    有时编译时,提示某某行有错,但是要定位到某一行的话,如果在编辑页面能够将行号显示出来,查找也就更方便了,下面我来介绍一下让VC6.0显示行号的方法.   工具/原料   VC6.0.显示行号的插件 方 ...

  7. golang os/exec 执行外部命令

    exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. func LookPath(file string) (st ...

  8. JQuery_事件基础

    JavaScript 有一个非常重要的功能,就是事件驱动.当页面完全加载后,用户通过鼠标或键盘触发页面中绑定事件的元素即可触发. jQuery 为开发者更有效率的编写事件行为, 封装了大量有益的事件方 ...

  9. Android 开发如何选择轮子(转)

    一个项目的开发,我们不可能一切从0做起,如果真是这样,那同样要哭瞎.因此,善于借用已经做好的 "车轮" 非常重要,如: 网络访问框架:OKHttp.retrofit.android ...

  10. java aes_cbc_256 加密解密

    在之前我们在openssl上和ios上分别测试了 AES256位cbc模式的加密和解密 今天用java提供的api来测试一下:进而确定一下在PC,iOS,安卓上三个平台下的加密解密数据: 1. 首先通 ...