Highcharts JAVA用例_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Highcharts JAVA用例

Highcharts JAVA用例

 2013/11/23 15:26:13  跑轮里的冠军  程序员俱乐部  我要评论(0)
  • 摘要:首先,我要说,Highcharts这个东西非常好。官方地址http://www.highcharts.com后台数据支持json和xml贴一个简单的例子,并附上后台数据,这里返回的是JSON,框架使用的是springMVC场景描述:监控某个进程的cpu资源使用,并在前台显示后台关键代码:/***test*@parammodel*@paramrequest*@return*/@RequestMapping("/monitor/index.do")publicStringindex
  • 标签:Java

首先,我要说,Highcharts这个东西非常好。

官方地址http://www.highcharts.com

后台数据支持json和xml

贴一个简单的例子,并附上后台数据,这里返回的是JSON,框架使用的是springMVC

场景描述:监控某个进程的cpu资源使用,并在前台显示

后台关键代码:

?

class="java">/**
	 * test
	 * @param model
	 * @param request
	 * @return
	 */
	@RequestMapping("/monitor/index.do")
	public String index(ModelMap model, HttpServletRequest request) {
		return "view/monitor";
	} 
	/**
	 * 测试highchart
	 * @param filename
	 * @return
	 */
	@RequestMapping("/monitor/test.do")
	public @ResponseBody String test(String filename){
		String mem = null;
		try {
			mem = getmem(filename);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return mem;
	}

?

private static String getmem(String filename) throws Exception{
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		StringBuffer result = new StringBuffer(); 
		BufferedReader br = new BufferedReader(new InputStreamReader(MonitorAct.class.getResourceAsStream("/"+filename)));
		String line = null;
		String[] ary = null;
		result.append("[");
		line=br.readLine();
		while(line!=null){
			result.append("[");
			ary = line.split(">");
			result.append(sdf.parse(ary[0]).getTime()).append(",").append(ary[1]);
			result.append("]");
			line=br.readLine();
			if(line != null){
				result.append(",");
			}
		}
		result.append("]");
		return result.toString();
	}

?filename中的数据格式为,格式随意,是key-value就OK

2013-11-19 10:17:47>51.9
2013-11-19 10:17:50>14.0
2013-11-19 10:17:53>2.0
...

?前台代码,JSP

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
<script src="${base}/resources/js/jquery.js"></script>
<script src="${base}/resources/js/highstock.js"></script>
<script src="${base}/resources/js/exporting.js"></script>
<script type="text/javascript">
	$(function() {
	var seriesOptions = [],
		yAxisOptions = [],
		seriesCounter = 0,
		names = ['cpu2.log','cpu2.log'];
		colors = Highcharts.getOptions().colors;
	$.each(names, function(i, name) {
		$.getJSON('${base}/monitor/test.do?filename='+name,	function(data) {
			seriesOptions[i] = {
				name: name,
				data: data
			};
			seriesCounter++;
			if (seriesCounter == names.length) {
				createChart();
			}
		});
	});
	function createChart() {
		alert(seriesOptions);
		$('#container').highcharts('StockChart', {
		    chart: {
		    },
		    rangeSelector: {
		        selected: 4
		    },
			title: {
				text: "cpu使用"
			},
			xAxis: {
				labels: {
					formatter: function() {
						return this.value;
					}
				}
			},
		    yAxis: {
		    	labels: {
		    		formatter: function() {
		    			return (this.value > 0 ? '+' : '') + this.value + '%';
		    		}
		    	},
		    	
		    	plotLines: [{
		    		value: 0,
		    		width: 2,
		    		color: 'silver'
		    	}]
		    },
		    
		    plotOptions: {
		    	series: {
		    		//compare: 'percent'
		    	}
		    },
		    
		    tooltip: {
		    	pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}%</b><br/>',
		    	valueDecimals: 2
		    },
		    
		    series: seriesOptions
		});
	}

});
</script>
</head>
<body>
<div id="container" style="height: 500px; min-width: 300px"></div>

</body>
</html>

?这里,不得不提醒大家,关于highchart div容器的问题,在我使用时发现这样的问题,浏览器-firefox25.0.1。

debug提示错误显示

Highcharts error #13 http://www.highcharts.com/errors/13

?根据地址,官方说明的比较清楚

Highcharts Error #13
Rendering div not found
This error occurs if the chart.renderTo option is misconfugured so that Highcharts is unable to find the HTML element to render the chart in. 

?问题就出在div的id上面...在我的id中带有"."号,居然不行...没法,本来是直接用的ip,改用hostname了。

最后附上一张效果图



?

?

?

  • 大小: 62.5 KB
  • 查看图片附件
发表评论
用户名: 匿名