highCharts圖表入門實例

  本文經過講解Highcharts生成一個簡單的3D柱狀圖實例來學習Highcharts的使用。javascript

  JSP 頁面html

  一、須要引入的js文件java

<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>

  二、JavaScript jquery

<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>

  三、jspajax

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

  後臺傳數據----拼接jsonjson

  action方法getProjectChart()數組

/**
	 * 得到項目統計圖
	 * @return
	 * @throws Exception
	 */
	 public String   getProjectChart() throws Exception{
	       //省略參數獲取過程
       //須要獲取的參數
       //一、title:titleStr----柱狀圖的標題,StringBuffer類型,將其值傳入前臺
        //二、data:sumWaterByCounty-----柱狀圖的數據列,是一個數組
        //三、xdata:xdata-------橫座標軸的數據,也是一個數組
		 /**
	       * 輸出統計的字符串轉化成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,供前臺獲取      }
相關文章
相關標籤/搜索