`
单一色调
  • 浏览: 85958 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[总结]SSH+Highcharts动态图表

阅读更多

在13年写了两篇帖子“SSH+Highcharts 异步加载图表”,到现在有很多人在QQ加我问我取值,加载数据的问题,然后我翻了翻之前的博客,发现确实有很多漏洞,当时也是刚开始接触Highchart,有很多问题没说清楚。

今天重开一贴,希望能理清楚,大家一看就知道怎么用。

 

1、首先下载highchart,并引入js:

<script type="text/javascript" src="${pageContext.request.contextPath}/jslib/highchart/highcharts.js"></script>

 

2、构造图表容器:

 

<div id="adschartContainer"   style="min-width: 400px; height: 500px; margin: 0 auto">
</div>

 

 

3、在javascript中初始化图表

 

<script>
$(function() {
	 var adsChart;
	 adsChart = new Highcharts.Chart({
	 	chart : {
			renderTo : 'adschartContainer',
			defaultSeriesType : 'spline',
		},
		title : {
			text : '广告用户分析曲线图',
			x : -20
		//center
		},
		xAxis : {
			categories : [ ]
		},
		yAxis : {
			title : {
				text : '总数量'
			},
			plotLines : [ {
				value : 0,
				width : 1,
				color : '#808080'
			} ]
		},
		tooltip : {
			formatter : function() { //formatter格式化函数
				return '<b>' + this.series.name + '</b><br/>' + this.x
						+ ': ' + this.y;
			}
		},
		legend : {
			layout : 'vertical',
			align : 'right',
			verticalAlign : 'top',
			x : 0,
			y : 100,
			borderWidth : 0
		},
		series : [{name:'新用户'},{name:'老用户'},{name:'下载量'},{name:'安装量'},{name:'没广告'}]
	 });
});
</script>

 这样我们就初始化好了一个空的图表容器,这里横坐标、纵坐标都是空的。横坐标:categories : [ ];纵坐标:series : [{name:'新用户'},{name:'老用户'},{name:'下载量'},{name:'安装量'},{name:'没广告'}]

 

 

这里我们生成了四条曲线,series中每一个对象对应一条曲线,series要求的格式如下:

series : [{name:'新用户',data:[]},{name:'老用户',data[]}]

即每一条曲线需要一个data数组和一个名字,动态赋值我们只需要使用调用setdata方法即可。

(如果想要动态返回曲线名可以参考之前的博客SSH+Highcharts 生成动态图表 ——在思考中解决问题。)

 

 

 

4、动态构建曲线数值

在初始化容器完成以后我们可以发送请求到后台(ajax),下面这段代码直接接上面:

 

 

//给图表加载值
var url = '${pageContext.request.contextPath}/chartAction!getAdsChart.action';
$.post(url, function(response) {
     newList = response.newList;
     oldList = response.oldList;
     downList = response.downList;
     installList = response.installList;
     timList = response.timList;

     adsChart.series[0].setData(newList);
     adsChart.series[1].setData(oldList);  
     adsChart.series[2].setData(downList);
     adsChart.series[3].setData(installList);
     adsChart.xAxis[0].setCategories(timList);
}, "json");

 这样后台给我们返回了5个对象数字(4条曲线,1个横坐标数组)

 

 

{"downList":[24923,38372,31822,27931,26572,25253,24752,25002,19527,23401,26602,25912,37069,83962,46483,24686,5229,5506,41448,36060],"installList":[5988,5806,6026,6428,6312,6196,6203,6515,6059,6027,6372,6757,6485,9242,8385,7026,4826,4231,7437,8262],"loseList":[646,783,857,883,936,1028,1013,1106,1087,1076,1075,1144,0,106,386,552,609,621,672,739],"newList":[6159,5590,6051,6102,6139,5931,5501,6254,6142,6060,6277,6381,5670,5902,5603,5557,5591,6041,5844,5768],"oldList":[47817,47339,48629,49456,49324,49312,48391,50188,50842,50944,51715,52555,51431,52626,52045,51511,51440,52628,52928,52985],"timList":["07-01","07-02","07-03",...]}

 

到这一步应该就能生成图表了。

至于后台数据无非就是将其查询出来并放到对象里面返回给前端即可。

后台处理数据对象类:

public class HighChart {
	private List<Long> newList=new ArrayList<Long>();
	private List<Long> oldList=new ArrayList<Long>();
	private List<Long> downList = new ArrayList<Long>();
	private List<Long> installList = new ArrayList<Long>();
	private List<Long> loseList = new ArrayList<Long>();
	private List<String> timList = new ArrayList<String>();
        getter and setter...
}

 

结果如下:


 

ps:话说我现在还是比较喜欢Echarts啊!!!!

  • 大小: 184.2 KB
1
2
分享到:
评论
2 楼 白糖_ 2014-07-23  
Echarts不错,支持国产,支持百度
1 楼 单一色调 2014-07-23  
欢迎拍砖!

相关推荐

    ssh 导入导出excel+百度富文本编辑器+highcharts

    在SSH项目中,highcharts可以用于展示数据统计结果,通过JavaScript与后台Java代码交互,获取数据后动态生成图表。开发者需要理解highcharts的API,设置图表类型、数据源、样式等参数,以满足不同场景下的数据可视化...

    java底层代码:泛型DAO+SSH+Proxool连接池+国际化语言

    4、包含常用的工具:jquery、easy-ui、日期控件、highcharts图表控件、图片放大工具、富文本框等。 此代码包含了所有的jar包,用eclipse导入项目即可。 数据库定义在proxool.properties可自行修改。 国际化字符转换...

    java(SSH)小项目-图表统计

    关于图表部分,项目可能使用了如JFreeChart、Chart.js或Highcharts等库来生成动态的、交互式的图表。这些库可以将从数据库中获取的数据渲染成各种类型的图表,如柱状图、折线图、饼图等,以直观地展示统计结果。...

    SSH2框架练习_计费系统

    总结来说,这个项目展示了如何利用SSH2框架开发一个实用的家庭记账系统,结合Ajax提供动态交互,利用Highcharts进行数据可视化。对于学习和实践Java Web开发的人来说,这是一个很好的实战案例,涵盖了前端到后端的...

    SSH项目,CRM

    JavaScript库如Highcharts、ECharts或D3.js可能被用于生成这些图表。 7. **运行环境**:描述提到系统在本人机器上运行正常,这意味着系统已成功部署并可以正常运行,包括数据库连接、文件读写、图表渲染等功能都...

    java ssh2——统计图

    在这个"java ssh2——统计图"的项目中,我们聚焦于如何在网页中利用SSH2框架来创建动态的、交互式的统计图形。 Spring框架作为基础,提供依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented ...

    ssh/oracle数据饼图功能

    在Web应用中,数据饼图通常通过JavaScript库(如Highcharts、D3.js等)动态生成,结合后端提供的数据,可以实现动态更新和交互式操作。 综合以上,这个项目适合对SSH框架和Oracle数据库有一定了解,并希望学习如何...

    案例课程B-S架构-1期 AL270301案例学习指南.doc

    总结来说,本案例课程是针对计算机专业学习者设计的,重点在于理解和应用HTML5进行动态数据3D展示,结合SSH框架进行B/S架构软件的开发。学习者需要具备Java基础,了解Highcharts控件,熟悉MyEclipse开发环境和SQL ...

    highcharts-webserver:用于处理高图并将其作为图像提供的 PHP 端点

    ##运行一个highcharts图生成服务器快速入门: 启动 Cent OS 6.5 实例从这里安装木偶配置: : 安装/设置: nginx Phantomjs 和依赖PHP-FPM 工具和实用程序,如 nano/git HTTP/SSH 的 IPTables 规则NTPd 并设置 UTC ...

    银行管理系统

    可能使用了如JFreeChart、ECharts或者Highcharts等图表库来实现这些图形的绘制。 在实际开发过程中,系统可能还包括了用户身份验证、权限管理、异常处理、日志记录等多个方面。开发团队需要遵循软件工程的最佳实践...

    自己在公司做的java项目,相关特殊功能实例,源码等等

    “报表”和“图表”通常与数据分析和可视化相关,可能使用了如JFreeChart、ECharts、Highcharts等库来生成各种统计图表,帮助用户直观理解复杂的数据。 最后,RMI(Remote Method Invocation)是Java提供的一种远程...

    bos物流项目

    在前端展示上,项目使用了Highcharts库,这是一个基于JavaScript的图表库,能够创建各种动态、交互式的图表,为数据分析和可视化提供了强大的支持。通过后台生成的数据,Highcharts可以生成直观的报表,帮助决策者更...

    JBOA办公自动化管理系统

    这些报表可能由ECharts、Highcharts或其他图表库生成,支持多种图表类型,如柱状图、折线图、饼图等。开发者通过后台获取数据,经过处理后,用这些库生成动态、交互式的图形,使得数据可视化。 在JBOA_DOME压缩包中...

    北大青鸟第三单元办公自动化管理系统(已通过)

    7. **报表与数据分析**:OA系统通常包含报表生成和数据分析功能,学员需了解如何使用如Echarts、Highcharts等图表库,以及Excel数据导入导出,为管理层提供决策支持。 8. **集成与API**:OA系统可能需要与其他系统...

    基于J2EE的壁纸类的销售网站毕业设计

    4. **图表统计**:项目中提到有图表统计功能,这可能是通过集成如JFreeChart或Highcharts这样的图表库来实现的。这些图表可能显示销售量、销售额、最受欢迎的壁纸等数据,帮助管理者进行数据分析和决策。 5. **前端...

    ExtJs人力资源管理系统(HRMS)

    9. **报表和图表**:可能利用ExtJS的Chart组件或第三方库(如Highcharts)生成各类统计报表,以图形化方式展示人力资源数据。 总之,"ExtJs人力资源管理系统(HRMS)"项目融合了前端、后端及数据库等多个层面的技术,...

    demo工程列表说明1

    23. **Highcharts图表库**:highchart使用Ajax配合创建线性图,Highcharts是一个纯JavaScript的图表库。 24. **热部署**:hottest和hottest2展示了如何在不重启服务器的情况下更新代码,这可能涉及到热部署工具或...

    面向用户现场的飞机服务保障管理系统的设计与实现

    - **实现技术**:该平台可能使用了诸如ECharts、Highcharts等流行的JavaScript图表库来实现数据的可视化展示。 #### 三、关键技术应用 - **Dorado7集成环境**:Dorado是一款高性能的企业级Web开发平台,它提供了...

    基于SSM的高校可视化教学分析系统源码.zip

    6. **可视化**:系统的可视化部分通常会利用如ECharts、Highcharts等JavaScript库来创建图表,直观地呈现教学数据,如教师评分、学生出勤率、成绩分布等。这有助于用户快速理解复杂的数据信息。 7. **数据库设计**...

Global site tag (gtag.js) - Google Analytics