etmvc+jQuery EasyUI Highcharts实现柱状图

本文介绍了使用Highcharts实现柱状图的过程,包括从前端获取JSON数据并展示为图表,后端通过数据库获取数据返回JSON格式。展示了具体的HTML、JavaScript及Java代码实现。

基于JQuery easyUI 使用Highcharts实现了数据柱状图的显示,前段显示主要使用Highchartst这个图表库,后端使用etmvc框架从数据库获取数据,前后端数据交互采用Json数据格式,主要代码如下:

前段HTML:

[html]  view plain  copy
  1. <div style="padding:5px;">  
  2.     <fieldset>  
  3.      <div>  
  4.         <div style="margin: 0 1px">  
  5.         <div id="containerliuliang" style="min-width: 368px; height: 368px; margin: 0 auto"></div>  
  6.         </div>  
  7.      </div>  
  8.     </fieldset>  
  9. </div>  

前段JS:

[html]  view plain  copy
  1. <script type="text/javascript">  
  2.        /*获取json数据开始*/  
  3.        //定义变量  
  4.        $(document).ready(function () {  
  5.            var jsonXData = [];  
  6.            var jsonyD1 = [];  
  7.            var jsonyD2 = [];  
  8.          //获取数据  
  9.            $.ajax({ url: '/ciccpsMember/memberfee/memberfeeByYear',  
  10.                cache: false,  
  11.                async: false,  
  12.                success: function (data) {  
  13.                    var json = eval("(" + data + ")");  
  14.                    if (json.Rows.length > 0) {  
  15.                        for (var i = 0; i < json.Rows.length; i++) {  
  16.                            var rows = json.Rows[i];  
  17.                            var Year = rows.year;  
  18.                            var ShouldPay = rows.shouldPay;  
  19.                            var TruePay = rows.truePay;  
  20.                            jsonXData.push(Year); //赋值  
  21.                            jsonyD1.push(ShouldPay);  
  22.                            jsonyD2.push(TruePay);  
  23.                        } //for  
  24.                        var chart;  
  25.                        chart = new Highcharts.Chart({  
  26.                            chart: {  
  27.                                renderTo: 'containerliuliang',//放置图表的容器  
  28.                                plotBackgroundColor: null,  
  29.                                plotBorderWidth: null,  
  30.                                defaultSeriesType: 'column'   //图表类型line, spline, area, areaspline, column, bar, pie , scatter   
  31.                            },  
  32.                            title: {  
  33.                                text: '近年会费缴纳情况',  
  34.                                style: { font: 'normal 13px 宋体' }  
  35.                            },  
  36.                            xAxis: {//X轴数据  
  37.                                categories: jsonXData,  
  38.                                lineWidth: 2,  
  39.                                labels: {  
  40.                                    rotation: -45, //字体倾斜  
  41.                                    align: 'right',  
  42.                                    style: { font: 'normal 13px 宋体' }  
  43.                                }  
  44.                            },  
  45.                            yAxis: {//Y轴显示文字  
  46.                                lineWidth: 2,  
  47.                                title: {  
  48.                                    text: '金额/万元'  
  49.                                }  
  50.                            },  
  51.                            tooltip: {  
  52.                                formatter: function () {  
  53.                                    return '<b>' + this.x + '</b><br/>' +  
  54.                                 this.series.name + ': ' + this.y+'万元';  
  55.                                }  
  56.                            },  
  57.                            plotOptions: {  
  58.                                column: {  
  59.                                    dataLabels: {  
  60.                                        enabled: true  
  61.                                    },  
  62.                                    enableMouseTracking: true//是否显示title  
  63.                                }  
  64.                            },  
  65.                            series: [{  
  66.                                name: '应缴',  
  67.                                data: jsonyD1  
  68.                            }, {  
  69.                                name: '实缴',  
  70.                                data: jsonyD2  
  71.                            }]  
  72.                        });  
  73.                        //$("tspan:last").hide(); //把广告删除掉  
  74.                    } //if  
  75.                }  
  76.            });  
  77.        });  
  78.     </script>  

后端代码:

[java]  view plain  copy
  1. /** 
  2.  * 近几年会费 
  3.  */  
  4. public JsonView memberfeeByYear() throws Exception {  
  5.   
  6.     db connection = new db();  
  7.     String sql = "select * from  memberfeesview";  
  8.     ResultSet rs = connection.executeQuery(sql);  
  9.     List<Map<String, Object>> _list = new ArrayList<Map<String, Object>>();  
  10.     if (rs != null) {  
  11.         try {  
  12.             while (rs.next()) {  
  13.                 /* 获取信息 */  
  14.                 Map<String, Object> _map = new HashMap<String, Object>();  
  15.                 _map.put("year", rs.getString("year"));  
  16.                 _map.put("shouldPay", rs.getFloat("shouldPay"));  
  17.                 _map.put("truePay", rs.getFloat("truePay"));  
  18.                 _list.add(_map);  
  19.             }  
  20.         } catch (Exception e) {  
  21.             e.printStackTrace();  
  22.         } finally {  
  23.             try {  
  24.                 rs.close();  
  25.             } catch (Exception e) {  
  26.                 e.printStackTrace();  
  27.             }  
  28.             connection.closed();  
  29.         }  
  30.     }  
  31.       
  32.     Map<String, Object> result = new HashMap<String, Object>();  
  33.     result.put("RowCount",_list.size());  
  34.     result.put("Rows", _list);  
  35.     JsonView view = new JsonView(result);  
  36.     view.setContentType("text/html;charset=utf-8");  
  37.     return view;  
  38. }  

Json数据格式:

[plain]  view plain  copy
  1. {"Rows":[{"truePay":30.0,"shouldPay":140.0,"year":"2013"},{"truePay":140.0,"shouldPay":140.0,"year":"2012"},{"truePay":134.5,"shouldPay":140.0,"year":"2011"},{"truePay":141.0,"shouldPay":140.0,"year":"2010"},{"truePay":85.0,"shouldPay":86.5,"year":"2009"}],"RowCount":5}  

运行截图:

先介绍到这,其他图可结合Highcharts相关的教程来实现,附带 多个JS+Json柱状图饼图折线图示例 里面有多个不同的JS图标库的示例代码

内容概要:本文提出了一种融合模型预测控制(MPC)与人工势场法(APF)的船舶运动规划方法,旨在解决复杂海上交通场景下符合国际海上避碰规则(COLREG)的智能避碰路径规划问题。该方法充分利用MPC的滚动优化与前瞻预测能力,结合APF对动态障碍物的实时响应优势,构建包含目标引力场与多船斥力场的综合势场模型,并显式嵌入COLREG规则以确保避让行为的合法性与可解释性。通过在多船会遇、交叉、追越等多种复杂场景下的Matlab仿真实验,验证了该方法在生成安全、平滑、合规轨迹方面的有效性与鲁棒性,为智能船舶自主航行提供了可靠的决策支持。; 适合人群:从事航海自动化、智能船舶系统、海洋机器人、路径规划与智能控制研究的科研人员,以及具备Matlab编程与控制系统基础的研究生和工程技术人员。; 使用场景及目标:① 实现多船复杂交互环境下的智能避碰决策;② 开发符合国际法规的无人船自主航行系统;③ 深入学习MPC与APF融合算法的设计原理与仿真实现;④ 为智能航运、海上交通管理系统提供核心算法技术支持。; 阅读建议:建议结合提供的Matlab代码进行仿真实验,重点理解势场函数构建、COLREG规则的形式化表达、约束处理机制及MPC滚动优化的实现细节,同时对照国际避碰规则条款验证算法行为的合规性与合理性。
内容概要:本文系统研究了综合能源系统中的容量配置与运行调度问题,采用双层优化方法构建模型并通过Matlab代码实现求解。上层优化侧重于设备容量的科学配置,以降低投资成本并提升系统经济性;下层优化聚焦于多能源协同运行调度,综合考虑光伏、储能、电动汽车等多种能源形式的动态特性,旨在实现系统在不同运行工况下的能效最大化、运行可靠性与低碳化目标。研究融合智能优化算法(如遗传算法、粒子群算法)与电力系统建模技术,深入探讨了多能耦合、不确定性处理及复杂约束下的优化机制,并提供了完整的仿真案例与代码资源,涵盖微电网调度、风光储协同、电动汽车接入等典型应用场景,形成了具有较强实用价值的科研技术体系。; 适合人群:具备电力系统分析、优化算法理论及Matlab编程基础的研究生、科研人员和工程技术人员,特别适用于从事综合能源系统规划、微电网运行、智能调度与能源互联网等领域研究的专业人士。; 使用场景及目标:① 掌握双层优化在综合能源系统中的建模方法与求解流程;② 利用所提供Matlab代码进行科研复现、算法改进与系统仿真验证;③ 拓展应用于电动汽车集群调度、可再生能源消纳、多能互补系统优化等实际工程与学术研究场景; 阅读建议:建议结合文档中列出的相关研究方向与配套代码资源,按照主题分类循序渐进地学习,优先理解双层架构的设计逻辑与上下层耦合机制,并借助提供的网盘资料开展仿真实验与参数调试,以深化对优化模型与算法实现的理解,提升科研创新能力。
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值