Highcharts饼图的简单应用

详情可见:[url]http://www.cnblogs.com/liuhaorain/archive/2012/01/24/2311352.html[/url]

1.使用Highcharts需要同时引用jQuery和Hightcharts两个文件。如下:
<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>


2.在您的网页头部的脚本标签,或在一个单独的js文件,添加JavaScript代码来初始化图表。renderTo参数用来设置图表渲染的位置,一般来说是一个具有ID的DIV元素(参考第3步)。

var chart1; // 全局变量
$(document).ready(function() {
chart1 = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'bar'
},
title: {
text: 'Fruit Consumption'
},
xAxis: {
categories: ['Apples', 'Bananas', 'Oranges']
},
yAxis: {
title: {
text: 'Fruit eaten'
}
},
series: [{
name: 'Jane',
data: [1, 0, 4]
}, {
name: 'John',
data: [5, 7, 3]
}]
});
});



3.在页面中添加一个DIV元素,作为放置Highcharts图表的容器。需要为其设置ID值,与第2步rendTo参数绑定。设置的宽度和高度将作为Highcharts图表的宽度和高度。


<div id="container" style="width: 100%; height: 400px"></div>


4.你可以通过Highcharts.setOptions方法为Highcharts图表设置一个全局的主题(可选的)。下载包含有四个预定义的主题,如果你需要使用从这些主题,只需在 highcharts.js 后引用这些文件。比如:

<script type="text/javascript" src="/js/themes/gray.js"></script>


项目实例:
highcharts中饼图解析的数据格式需如:
['csjk2',1],['csjk',3],['csjk1',5]

后台将列表信息发送到jsp页面

@RequestMapping(params = "method=chart")
public String chart(HttpServletResponse response,HttpServletRequest request,ModelMap modelMap){
List<Interserivice> interserverlist = interseriviceService.getJson();
modelMap.addAttribute("interserverlist", interserverlist);
return "system/interservice_chart";
}



jsp页面中通过java取出并转化成json数据格式

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
List<Interserivice> interserverlist =(List<Interserivice>)request.getAttribute("interserverlist");
JSONArray json = JSONArray.fromObject(interserverlist);
String dataTmp="";
for(int i=0;i<json.size();i++){
JSONObject jsonObject = JSONObject.fromObject(json.get(i));
dataTmp+="['"+jsonObject.getString("CODE")+"',"+jsonObject.getInt("COUNT")+"],";
}
dataTmp=dataTmp.substring(0, dataTmp.length() - 1);
System.out.println(dataTmp);
%>




定义div容器:

<form id="form1" name="form1" method="post">
<div id="container">

</div>
</form>



初始化饼图:


<script type="text/javascript">
$(document).ready(function() {

//颜色渐变
Highcharts.getOptions().colors = Highcharts.map(Highcharts.getOptions().colors, function(color) {
return {
radialGradient: {
cx: 0.5, cy: 0.3, r: 0.7 },
stops: [
[0, color],
[1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken
]
};
});


var options = {
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: true
},
title: {
text: '大众文化圈系统接口调用次数饼状图'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ '调用 '+this.point.y +' 次';
//数据格式[this.point.name,this.point.y]
}
}
}
},
series: [
{
type: 'pie',
name: '接口调用比例',
data:
[
//['csjk2',1],['csjk',3],['csjk1',5]
<%=dataTmp %>
]

}
]
}


var chart = new Highcharts.Chart(options);

});

</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值