java实现的highcharts与ajax结合动态实时获取数据更新图表

jsp页面:

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%
String categories="[ '狗', '猫', '兔子', '老虎', '大象']";
String data="[10,13,15,17,19]";

%>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Highcharts Example</title>

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
//x轴值
var categories=<%=categories%>;

//y轴值
var data=<%=data%>;

//创建图表
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart( {
chart : {
renderTo : 'container',
type : 'bar',
events : {
load : st// 定时器
}
},
title : {
text : '动物数量统计'
},
xAxis : {
categories : categories,
title : {
text : 'name'
}

},
yAxis : {
min : 0,
title : {
text : 'number'
}
},
        legend: {
            enabled: false
        },
tooltip : {
formatter : function() {
return '' + this.series.name + ': ' + this.y + '';
}
},
        credits : {
            enabled: false
        },
plotOptions : {
series : {
stacking : 'normal'
}
},
series : [ {
name : '个',
data : data
} ]
});


});


//10秒钟刷新一次数据
function st() {
setInterval("getData()", 10000);
}

//动态更新图表数据
function getData() {

var categories = [];
$.ajax({
  type: "post",
  url: "${pageContext.request.contextPath}/highchart",
  dataType: "json",
  success : function(data){
var d = [];
  $(data).each(function(n,item){
  d.push(item.data);
  categories.push(item.categories);
  })
chart.series[0].setData(d);
chart.xAxis[0].setCategories(categories);
  }
  });
}

</script>
</head>
<body>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/highcharts/highcharts.js" charset="utf-8"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/highcharts/funnel.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/highcharts/highcharts-more.js"></script>

<div id="container" ></div>
</body>
</html>

没有账户的朋友邮箱联系我,发demo给你:[email protected]

你可能感兴趣的:(java,jquery,Ajax,jsp,highcharts实时更新)