本文通过讲解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. 向Array中添加希尔排序

    希尔排序思路 我们在第 i 次时取gap = n/(2的i次方),然后将数组分为gap组(从下标0开始,每相邻的gap个元素为一组),接下来我们对每一组进行直接插入排序. 希尔排序实现 Functio ...

  2. Netsharp快速入门(之15) 销售管理(报表B 销售季度表)

    作者:秋时 杨昶   转载须说明出处 4.6.2  销售季度表(交叉表) 1.1.1.1 交叉表带数据源和不带数据源区别 带数据源的可以自定义数据源,可以从实体,也可以从Sql脚本得到数据源,并能自定 ...

  3. UVALive - 6575 Odd and Even Zeroes 数位dp+找规律

    题目链接: http://acm.hust.edu.cn/vjudge/problem/48419 Odd and Even Zeroes Time Limit: 3000MS 问题描述 In mat ...

  4. hdu 3007 Buried memory 最远点对

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3007 Each person had do something foolish along with ...

  5. hdu 3572 Task Schedule 网络流

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3572 Our geometry princess XMM has stoped her study i ...

  6. NYOJ-205 求余数 AC 分类: NYOJ 2014-02-02 12:30 201人阅读 评论(0) 收藏

    这题目看一眼以为难度评级出错了,只是一个求余数的题目,,后来才发现,位数小于百万位,,,我还以为是大小小于百万呢,所以借鉴了另一大神的代码, 用大数,重点是同余定理: (a+b)mod m=((a m ...

  7. String str=new String("a")和String str = "a"有什么区别?

    问:String str=new String("a")和String str = "a"有什么区别? 答:String str = "a" ...

  8. 一个perfect 的解决 阴影拉伸的方法 shadow map strech

    因为在场景中做了,有的物体产生阴影比如人物,有的物体不产生阴影比如地面,这样在地面凹下去的地方,悬崖,池塘边,就会有阴影的拉伸. 实际上, 没办法上传图片.... L是光源 A 点(人物身上)产生阴影 ...

  9. Beginners Guide To Learn Dimension Reduction Techniques

    Beginners Guide To Learn Dimension Reduction Techniques Introduction Brevity is the soul of wit This ...

  10. Java多线程程序设计详细解析

    一.理解多线程 多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立. 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线 ...