Echarts之柱状图(堆叠+条件查询统计)-------含前后端代码

本文介绍了使用Echarts实现柱状图的堆叠展示和添加条件查询统计功能的方法,包括后端代码配合前端实现监测点的统计效果。通过设置series中的stack属性来实现堆叠,并展示了如何扩展到更复杂的查询统计功能。
摘要由CSDN通过智能技术生成

刚接触了柱状图,将自己的一些成果分享一下

实现的效果图如下:

堆叠柱状图

废话就不多说了,代码展示给大家看

后端代码:

public class Monitor {

	private Integer id;
	private String monitorName;
	private String name;
	private Integer count1;
	private Integer count2;
}
@RequestMapping(value="/findMonitor",produces="application/json;charset=utf-8")
@ResponseBody
public void findMonitor(Monitor monitor,Map<String, Object> map) throws Exception{
		
		List<Monitor> list=monitorService.findMonitor(monitor);
		JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(list));
        response.setCharacterEncoding("UTF-8");
		PrintWriter out=response.getWriter();
		out.println(jsonArray);
		out.flush();
		out.close();
}

前端:

<body>
    <div id="main"></div>
</body>
<script type="text/javascript">
$(function(){
	    require.config({
	        paths: {
	            echarts: 'http://echarts.baidu.com/build/dist'
	        }
	    });
	   	// 使用
	    require(
	        [
	            'echarts',
	            'echarts/chart/line',//需要折线图则加载line模块
	            'echarts/chart/bar'//使用柱状图就加载bar模块,按需加载
	        ],
	        
	       	 
	         function (ec) {
				
	             // 基于准备好的dom,初始化echarts图表
	             var myChart = ec.init(document.getElementById('main'),'macarons'); 
	             
	             var option = {
				    title : {
				        text: '',
				        subtext: '',
				        x:'center',
				        subtarget :'blank',
				        subtextStyle : {
				            color :'black',
				            fontWeight :'normal',
				            fontSize :'14'
				        }     
				    },
				    tooltip : {
				        trigger : 'axis',
				        axisPointer : {            // 坐标轴指示器,坐标轴触发有效
                            type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
                        }
				    },
				    legend : {
				    	data : ["水压","电流","温度"]
				    },
				    calculable : true,
				    xAxis : [
						{
				            type : 'value',
				            name : '次'
						}
					],
				    yAxis : [
				        {
				        	type : 'category',
				        	name : '监测点名称',
				        	
				            data : (function(){
				            	var arr = [];
				            	$.ajax({
				            		type : "post",
				            		async : false,//同步执行
				            		url : "url",
				            		data : {},
				            		dataType : "json",
				            		success : function(result){
				            			if(result){
				            				for(var i=0;i<result.length;i++){
				            					arr.push(result[i].monitorName);//监测点名称
				            				}
				            			}
				            		},
				            		error : function(errorMsg){
				            			alert("不好意思,图标请求数据失败!");
				            			myChart.hideLoading();
				            		}
				            	})
			
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值