JS实现柱状图、折线图

效果图:

JS实现柱状图、折线图

JS实现柱状图、折线图

JSP页面:

<div class="canvesbox">
                	<div class="la">	
	                	<button class="aweek">最近一周</button>
		                <select id="myselect">
		                </select>
			</div>
                	<div id="chartmain" style="width:100%; height: 400px;margin-top: 15px;"></div>
                	<div id="chartweek" style="width:100%; height: 400px;margin-top: 15px;"></div>
               		 <div class="allNum">
	                	年消费总计:<span class="colorNum"> ¥</span>	<span class="zongjije colorNum fontNum"></span>元
	                </div>
	                
	                <div class="weekNum">
	                	最近消费总计:<span class="colorNum"> ¥</span>	<span class="weekje colorNum fontNum"></span>元
	                </div>
</div>

JS:

<script type="text/javascript" src='<c:url value="/js/echarts.js"></c:url>'></script>

$(function() {
	getData();
	getOpen();
	$("#chartmain").hide();
    $(".allNum").hide();
    $(".aweek").css({'border':'2px solid #6178EA'});
})

//获取数据库消费的所有的年份
function getOpen(){
    	$.ajax({
            url: "路径",
            data: {},
            dataType: "json",
            success: function(data){
               var mliye = eval('data.numye');
               $("#myselect").append("<option value=''>选择年份</option>");
               $.each(mliye,function(idx,obj){
           	   		$("#myselect").append("<option value='"+obj.merchants+"-0-0"+"'>"+obj.merchants+"年"+"</option>");
     		   	   }); 
            }
        });
    }

//选择年份时获取每一年每个月消费情况
$("#myselect").change(function(){
	$(".aweek").css({'border':''});
	$("#myselect").css({'border':'2px solid #6178EA'});
    var time=$("#myselect").val();
    $("#chartmain").show();
    $(".allNum").show();
    $(".weekNum").hide();
	$("#chartweek").hide();
    getWeek(time);
});

//获取交易流水数据、和最近一周每一天的消费总额以及一周的总额
function getData(time){
    $.ajax({
        url: "路径",
        data: {time:time},
        dataType: "json",
        success: function(data){
               var htmlStr = template("list",{allList:data.json});
               $("#allSlist").html(htmlStr);
               
               
               $(".weekje").text(data.weekmoney);
               var mlist = eval('data.weekjson');
               var nianArry=[];//年
               var money=[];//金额
               $.each(mlist,function(idx,obj){
            	    nianArry.push(obj.merchants+"-"+obj.archivesname+"-"+obj.consumtype);
	               	money.push(obj.consummoney);
       		   });
               //指定图标的配置和数据
               var option = {
                   title:{
                       text:'财务汇总'
                   },
                   tooltip:{
                	   trigger: 'axis',
                	   
                       axisPointer : {            // 坐标轴指示器,坐标轴触发有效
                           type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
                       }
                   },
                   legend:{
                       data:['用户来源']
                   },
                   xAxis:{
                       data:nianArry
                   },
                   yAxis:{
						
                   },
                   series:[{
                       name:'消费总额',
                       type:'line',//type改成bar为柱状图,改成line为曲线图
                       label: {
                           normal: {
                               show: true,
                               position: 'top'
                           }
                       },
                       itemStyle: {
                           normal: {
                               // 随机显示
                               color:function(d){return "#"+Math.floor(Math.random()*(256*256*256-1)).toString(16);}
                             
                               // 定制显示(按顺序)
                               /* color: function(params) { 
                                   var colorList = ['#FFC0CB','#EFE42A','#64BD3D','#EE9201','#29AAE3', '#B74AE5','#0AAF9F','#E89589','#16A085','#4A235A','#C39BD3 ','#F9E79F','#BA4A00','#ECF0F1','#616A6B','#EAF2F8','#4A235A','#3498DB' ]; 
                                   return colorList[params.dataIndex] 
                               } */
                           },
                       },
                       data:money
                   }]
               };
               //初始化echarts实例
               var myChart = echarts.init(document.getElementById('chartweek'));
               //使用制定的配置项和数据显示图表
               myChart.setOption(option);
               
               
        }
    });
}
  
//选择最近一周显示最近一周的消费情况    
$('.aweek').on("click", function() {
	$("#myselect").empty();
	$("#myselect").css({'border':''});
	$("#chartmain").hide();
	$(".allNum").hide();
	$("#chartweek").show();
	$(".weekNum").show();
	 getData();
	 getOpen();
})

//获取每一年每个月的消费总额
function getWeek(time){
	if(""==time){
		return;
	}
    $.ajax({
        url: "路径",
        data: {time:time},
        dataType: "json",
        success: function(data){
       		   
        	 $(".zongjije").text(data.moneyzonge);
             //获取每一年每个月的消费总额
             var mlist = eval('data.json2');
             var yuan = "元 ";
             var nianfen=[];//年份
             var mouthArry=[];//月份
             var moneyNum=[];//金额
             $.each(mlist,function(idx,obj){
	               	mouthArry.push(obj.merchants+"-"+obj.archivesname);
	               	moneyNum.push(obj.consummoney);
	               	nianfen.push(obj.merchants);
     		   });
             //指定图标的配置和数据
             var option = {
                 title:{
                     text:'财务汇总'
                 },
                 tooltip:{
              	   trigger: 'axis',
              	   
                     axisPointer : {            // 坐标轴指示器,坐标轴触发有效
                         type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
                     }
                 },
                 legend:{
                     data:['用户来源']
                 },
                 xAxis:{
                     data:mouthArry
                 },
                 yAxis:{
						
                 },
                 series:[{
                     name:'消费总额',
                     type:'bar',//type改成bar为柱状图,改成line为曲线图
                     label: {
                         normal: {
                             show: true,
                             position: 'top'
                         }
                     },
                     itemStyle: {
                         normal: {
                             // 随机显示
                             color:function(d){return "#"+Math.floor(Math.random()*(256*256*256-1)).toString(16);}
                           
                             // 定制显示(按顺序)
                             /* color: function(params) { 
                                 var colorList = ['#FFC0CB','#EFE42A','#64BD3D','#EE9201','#29AAE3', '#B74AE5','#0AAF9F','#E89589','#16A085','#4A235A','#C39BD3 ','#F9E79F','#BA4A00','#ECF0F1','#616A6B','#EAF2F8','#4A235A','#3498DB' ]; 
                                 return colorList[params.dataIndex] 
                             } */
                         },
                     },
                     data:moneyNum
                 }]
             };
             //初始化echarts实例
             var myChart = echarts.init(document.getElementById('chartmain'));
             //使用制定的配置项和数据显示图表
             myChart.setOption(option);
               
        }
    });
}