本文通过讲解Highcharts生成一个简单的3D柱状图实例来学习Highcharts的使用。

  JSP 页面

  1、需要引入的js文件

<script src="<%=basePath%>javascript/jquery-1.6.1.js"></script>
<script src="<%=basePath%>javascript/wiassess/highCharts4.0.3/highcharts.js"></script>
<script src="<%=basePath%>javascript/wiassess/highCharts4.0.3/highcharts-3d.js"></script>
<script src="<%=basePath%>javascript/wiassess/highCharts4.0.3/modules/exporting.js"></script>

2、javascript

<script type="text/javascript">
function Query(){
/* 省略tradTp,county,nature等参数的获取过程 */
$.ajax({
type:"post",
dataType:"json",
data: {"project.tradTp":tradTp,"project.county":county,"project.projNature":nature,"project.replDtS":replDtS,"project.replDtE":replDtE,"project.chartTp":chartTp}, //参数列表
async:false,
url:"<%=basePath%>wiassess/projectMgr/projectMgrAction!getProjectChart.action",
success: function(result){
var jsonData=result;
var xdata=jsonData.xdata; //xdata是后台传向前台的参数,代表横轴的数组
var data=jsonData.data; //data是后台传向前台的参数,代表显示数据,本实例显示的是年用水量
var tiltleTm=jsonData.title; //tiltleTm 是后台传向前台的参数,代表图标的标题
var chart = new Highcharts.Chart({
chart: {
renderTo: 'chartPro', //要显示柱状图的div的id
type: 'column', //图表类型为柱状图
margin: 75,
options3d: { //这里设置3D图表的样式
enabled: true,
alpha: 10,
beta: 0,
depth: 50,
viewDistance: 25
}
}, title: {
text: tiltleTm //显示柱状图的标题
},
credits: {//不显示highchart超链接
enabled: false
},
plotOptions: {
column: {
depth: 10,
value: 0,
width: 1
}
},
yAxis:{ //纵坐标
title:{
text:'单位:立方米'
}
},
xAxis: { //横坐标
categories: xdata
},
tooltip: { //提示格式
shared: true,
useHTML: true,
headerFormat: '<small>{point.key}</small><table>',
pointFormat: '<tr><td style="color: {series.color}">{series.name}: </td>' +
'<td style="text-align: right"><b>{point.y} 立方米</b></td></tr>',
footerFormat: '</table>',
valueDecimals: 2
},
series: [{
name:'取水总量',
data: data
}]
});
},
error: function(){
alert('获取失败!');
}
});
}
</script>

3、jsp

 <div id="chartPro"  style=" width: 66%; height: 400px; "  ></div>

后台传数据----拼接json

action方法getProjectChart()

/**
* 获得项目统计图
* @return
* @throws Exception
*/
public String getProjectChart() throws Exception{
//省略参数获取过程<br>       //需要获取的参数<br>       //1、title:titleStr----柱状图的标题,StringBuffer类型,将其值传入前台
//2、data:sumWaterByCounty-----柱状图的数据列,是一个数组
//3、xdata:xdata-------横坐标轴的数据,也是一个数组
<br>
/**
       * 输出统计的字符串转化成JSON,返回JSON
* */
     StringBuilder sb=new StringBuilder();
sb.append("{\"success\":true,");
sb.append("\"title\":\""+titleStr.toString()+"\",");
sb.append("\"data\":"+JSONArray.fromObject(sumWaterByCounty)+",\"xdata\":"+JSONArray.fromObject(xdata)+"");
sb.append("}");
     jsonStr=sb.toString();
return jsonStr;//返回拼接的JSON,供前台获取<br>      }

highCharts图表入门实例的更多相关文章

  1. highCharts图表入门简介

    一.Highcharts简介 Highcharts:功能强大.开源.美观.图表丰富.兼容绝大多数浏览器的纯js图表库 Highcharts是一款纯javascript编写的图表库,能够很简单便捷的在W ...

  2. [转]highcharts图表入门之:如何让highcharts图表自适应浏览器窗体的大小或者页面大小

    本文转自: http://jsfiddle.net/vCZ8V/1/ http://www.stepday.com/topic/?740 http://blog.csdn.net/yueritian/ ...

  3. highcharts图表组件入门教程:如何监听柱状图柱子点击事件动态更新当前数据点数值和所对应X轴刻度

    highcharts图表组件入门教程:如何监听柱状图柱子点击事件动态更新当前数据点数值和所对应X轴刻度 作者:highcharts | 时间:2014-6-11 14:07:05 | [小  大] | ...

  4. highcharts图表中级入门之xAxis label:X(横)坐标刻度值过长截断多行(换行)显示问题说明

    在使用highcharts图表的过程中,总会碰到这样一个很是棘手的问题,横坐标刻度值太长,在不换行显示的情况下显得格外拥挤.虽然针对这一问题是可以对其刻度值进行旋转以此来避开显示拥挤问题[如何让hig ...

  5. highcharts图表中级入门:非histock图表的highcharts图表如何让图表产生滚动条

    最近highcharts图表讨论群里面很多朋友都在问如何让highcharts图表在X轴数据多的情况下产生滚动条的问题,其实之前有一个解决办法是将装载图表的div容器用css样式表弄一个滚动条出来.这 ...

  6. ***ECharts图表入门和最佳实践

    ECharts数据图表系统? 5分钟上手! [ECharts简介] ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动, ...

  7. Omnet++ 4.0 入门实例教程

    http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...

  8. 转:Highcharts图表控件的使用

    摘要 Highcharts图表控件是目前使用最为广泛的图表控件.本文将从零开始逐步为你介绍Highcharts图表控件.通过本文,你将学会如何配置Highcharts以及动态生成Highchart图表 ...

  9. jQuery HighchartsTableHTML表格转Highcharts图表插件

    版权申明jQuery HighchartsTable 由 PMSIpilot 创建,中文使用文档由Highcharts中文网发布本文由Theo.红烧鸡翅膀.Mr.Zhang 翻译整理,版权归Highc ...

随机推荐

  1. 9、android开发之java.lang.verifyError(转载)

    原文链接: http://www.linuxidc.com/Linux/2012-08/67289.htm 解决方案: 最近在做一个Android开发小项目的时候,遇到java.lang.verify ...

  2. 【Sort Colors】cpp

    题目: Given an array with n objects colored red, white or blue, sort them so that objects of the same ...

  3. 【String to Integer (atoi) 】cpp

    题目: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ca ...

  4. Codeforces Round #131 (Div. 2) E. Relay Race dp

    题目链接: http://codeforces.com/problemset/problem/214/E Relay Race time limit per test4 secondsmemory l ...

  5. poj 3009 Curling 2.0

    题目来源:http://poj.org/problem?id=3009 一道深搜题目,与一般搜索不同的是,目标得一直往一个方向走,直到出界或者遇到阻碍才换方向. 1 #include<iostr ...

  6. BZOJ2039 [2009国家集训队]employ人员雇佣

    AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2039 鉴于一开始看题如果不仔细是看不懂题目的,还是说一下题目大意 [题目大意]:给定n个人 ...

  7. vertical sync

    these days, I am compelting vertical sync https://msdn.microsoft.com/zh-cn/library/windows/desktop/b ...

  8. Apple Remote Push Notifications

    1.帮助文档参考: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/Remote ...

  9. Oracle 显示时间问题

    在部署的时候. 显示的时间为会 2014/1/1 9:00:00 pm   但开发过程中显示为正常: 2014-1-1 21:00:00   解决方法: 1. Oracle数据库的时间格式没有问题, ...

  10. PowerDesigner(八)-面向对象模型(用例图,序列图,类图,生成Java源代码及Java源代码生成类图)(转)

    面向对象模型 面向对象模型是利用UML(统一建模语言)的图形来描述系统结构的模型,它从不同角度实现系统的工作状态.这些图形有助于用户,管理人员,系统分析人员,开发人员,测试人员和其他人员之间进行信息交 ...