http://blog.csdn.net/wsk7860/article/details/8751061
最近做個項目,專案經理想做一個統計報表,在網上查看些資料就選用Highchars 這裡和大家分享下使用心得。
重點說明此代碼是針對一個報表顯示多個項對比顯示。
直接貼代碼:web端
<script type="text/javascript" src="js/jquery/jquery-1.7.2.js"></script>
<script type="text/javascript" src="js/highcharts/highcharts.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var options = {
chart: {
renderTo: 'container', //DIV容器ID
type: 'column'//報表類型
},
//報表名稱
title:{
text:'測試'
},
/ /補充說明
subtitle: {
text: '報表說明'
},
yAxis: {
min: 0,
title: {
text: '單位(mm)'
}
},
//x軸顯示內容
xAxis: {
categories: [ ]
},
/ /資料來源(多個對比的)
series: [{},{},{},{}]
};
//json url 地址這裡我使用的servlet
var url = "http://127.0.0.1:8080/servlet/JsonServlet";
$.getJSON(url,function(data) {
var i,len=data.length;
for( i=0;i<len;i++){
//賦值 series
options.series[i].data = data[i].list;
options.series[i].name = data[i].name;
//對報表X軸顯示名稱賦值
options.xAxis.categories[i]=data[i].year;
}
var chart = new Highcharts.Chart(options);
});
});
</script>
<body>
<div id="container"></div>
</body>
後台servlet doget() 方法內容:
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
JSONArray members = new JSONArray();
PrintWriter out= response.getWriter();
try {
for(int i=1;i<5;i++){
//構建JSON 對象
JSONObject member = new JSONObject();
//構建series所需參數
member.put("name", "張飛"+i); //對應series.name
JSONArray list = new JSONArray();//對應series.data
for(int k=1;k<5;k++){
list.put(k*100);
}
member.put("year", (2012 + i));//對應Y軸顯示
member.put("list", list);
member.put("color", "#FF0022");//如需要可以設定柱狀圖顏色
members.put(member);
}
out.write(members.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.flush();
out.close();
圖片為效果圖: