`

Highcharts JAVA用例

阅读更多

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

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

后台数据支持json和xml

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

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

后台关键代码:

 

/**
	 * 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
分享到:
评论

相关推荐

    highchart-wrapper:生成用于highcharts API的GWT包装器

    在`highchart-wrapper-master`这个压缩包中,你应该能找到项目的源代码,包括Java类、测试用例和其他相关资源。通过阅读和学习这些源码,你可以深入理解如何封装JavaScript库以适应GWT环境,以及如何利用这个包装器...

    Java疫情演化分析系统源码.zip

    7. **数据可视化**:系统可能集成ECharts、D3.js或Highcharts等JavaScript库来生成图表,展示疫情数据的演化趋势,如病例增长曲线、地区分布热力图等。 8. **多线程与并发**:在处理大量数据时,多线程和并发处理能...

    项目管理系统 用Java编程

    11. **测试**:系统开发过程中,单元测试、集成测试和系统测试是保证质量的关键步骤,JUnit、Mockito等工具可能被用来编写测试用例。 12. **持续集成/持续部署(CI/CD)**:Git版本控制、Jenkins或Travis CI等工具...

    基于 JAVA 实现的爬虫系统+可视化报表毕业设计

    4. **数据可视化**:项目的亮点在于数据可视化报表,这需要学习者了解Echarts、Highcharts或D3.js等前端图表库。通过这些工具,可以将爬取到的数据转化为直观的图表,如折线图、柱状图、饼图等,帮助用户更好地理解...

    高校毕业生问卷调查系统Java.zip

    JUnit和Mockito是Java中常见的测试工具,用于编写和运行测试用例。 8. **部署**:最后,项目可能被部署到Apache Tomcat这样的应用服务器上,或者使用Docker容器化技术进行部署,以实现可移植性和环境一致性。 9. *...

    java物业管理系统

    8. **测试与部署**:开发过程中,单元测试和集成测试是必不可少的,JUnit和Mockito等工具可用于编写测试用例。系统部署可能在Linux服务器上,使用Docker容器化技术进行部署,便于版本管理和扩展。 9. **持续集成/...

    网站监控java源码

    9. **单元测试与持续集成**:为了确保代码质量,项目可能包含单元测试用例,并可能使用Junit、Mockito等工具进行测试。此外,持续集成工具如Jenkins可能被用来自动化构建和部署过程。 10. **数据分析与可视化**:...

    community-epidemic-fan-yi-master

    epidemic-fan-yi-master"可能包含以下组成部分:源代码文件(如.java、.xml)、配置文件(如spring配置、数据库连接配置)、前端资源文件(如CSS、JavaScript、图片)、数据库脚本和测试用例等。这些文件共同构成了...

    基于springboot+web的智慧养老平台系统源码.zip

    10. **单元测试**:使用JUnit或其他测试框架编写的测试用例,确保代码的正确性。 智慧养老平台的系统架构可能会采用MVC模式,通过Springboot的自动配置特性,集成各种组件,如Spring Data JPA进行数据库操作,...

    基于SSM的学生成绩分析系统源码.zip

    7. **报表和图表**:为了进行成绩分析,系统可能集成了如JFreeChart或Highcharts等图表库,用于生成各类统计图表,如平均分、排名、及格率等,帮助教学管理者直观理解学生成绩情况。 8. **单元测试和集成测试**:...

    CurrencyProcessor

    先决条件 JAVA 1.7,Maven 此应用程序公开一个端点,该端点使用 JSON 格式的消息。 此应用程序未连接到此实现中的任何数据库,但发布的消息存储在应用程序上下文中。 消息在上下文中一直存在,直到 Web 应用程序...

    基于ssm数据学院教务管理系统(源码)

    7. **报表和统计**:教务管理系统可能有生成报表和数据分析的功能,如学生成绩统计、出勤率分析等,这可能需要用到JSP、FreeMarker或其他模板引擎生成动态页面,或者使用ECharts、Highcharts等图表库展示数据。...

    itcast-dashboard-generate.zip

    1. 数据可视化库:例如D3.js、ECharts、Highcharts、Grafana或Tableau,这些工具用于创建交互式图表和图形。 2. 前端框架:如React、Vue或Angular,它们可以帮助构建用户界面并处理用户交互。 3. 后端框架:如...

    BKAirMonitoringSystem

    6. **数据可视化**:为了展示空气质量数据,可能采用了ECharts、Highcharts或其他JavaScript库来创建图表,这些图表可以通过Java的Servlet或JSP动态生成。 7. **Maven或Gradle**:作为Java项目构建工具,Maven或...

    基于Storm的区域销售数据分析系统-开题报告.docx

    此外,使用 HighCharts 进行数据可视化,SpringMVC 作为后端框架,Java、JSP 和 JavaScript 作为开发语言。 4. **需求分析**:系统开发的关键在于理解和满足用户需求。首先,通过 UML(统一建模语言)进行系统需求...

    基于Storm的区域销售数据分析系统-开题报告.pdf

    同时,Java、JSP和JavaScript作为开发语言,IDEA作为开发工具,确保了系统的开发和运行。 硬件条件上,系统所需的所有软件和测试设备都已准备就绪,确保了系统的实施。 在解决关键问题时,一是如何实时收集和处理...

    财务管理信息系统源码

    5. **报表和数据分析**:系统可能会包含用于生成财务报表的模块,这可能涉及到SQL查询优化和数据可视化技术,例如使用Echarts、Highcharts或D3.js库来创建图表。 6. **事务处理**:财务管理中涉及许多金融交易,...

    latrop-atad-cero:实验性 Orec 数据门户。 用于查看、收集和分析来自 OREC 站点的统计数据

    4. **数据可视化**:为了展示统计结果,latrop-atad-cero可能会集成D3.js、Highcharts或ECharts等JavaScript库,将复杂的数据转化为易于理解的图表。 5. **前端开发**:使用HTML、CSS和JavaScript(可能包括React、...

    stonks:我的交易申请

    这些图表库,例如Highcharts或D3.js,可以帮助用户直观地理解股票价格波动,识别趋势线、支撑与阻力位,以及识别超买和超卖的指标,如RSI(相对强弱指数)和MACD(移动平均收敛/发散)。 在后端,应用可能使用了...

    汇凯汽车贸易有限公司源码.rar

    6. **报表与分析**:源码可能包含用于生成销售报告、库存统计等功能,这些功能通常基于数据可视化库如ECharts或Highcharts,帮助管理层做决策。 7. **支付集成**:如果系统支持在线支付,可能会集成第三方支付接口...

Global site tag (gtag.js) - Google Analytics