Echarts3.0+Ajax请求数据柱状图实例

来源:互联网 发布:猎场网络什么时候播出 编辑:程序博客网 时间:2024/06/05 08:31
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="zh-CN">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>ECharts</title>
    
    <!-- 引入 echarts.js -->
    <script type="text/javascript" src="jquery/echarts.js"></script>
    <!-- 引入jquery.js -->
    <script type="text/javascript" src="jquery/jquery-1.10.2.js"></script>
</head>


<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 1800px;height:900px;"></div>
    
    <script type="text/javascript">
        
        var myChart = echarts.init(document.getElementById('main'));
         // 显示标题,图例和空的坐标轴
         myChart.setOption({
             title: {
                 text: '项目预算条形图',
                 subtext:'单位:万元'
             },
             tooltip: {},
             legend: {
                 data:[]
             },
             xAxis: {  
            axisTick:0,
            axisLabel: {
            rotate: 45,
      interval:0,
            },
                 data: []
             },
             grid: { // 控制图的大小,调整下面这些值就可以,
                 x: 300,
                 y: 50,
                 x2: 100,
                 y2: 400,// y2可以控制 X轴跟Zoom控件之间的间隔,避免以为倾斜后造成 label重叠到zoom上
             },
             yAxis: {},
             series: [{
                 name: '预算金额',
                 type: 'bar',
                 barWidth:20,
                 itemStyle:{
                normal:{
                color:function (value){return "#"+("00000"+((Math.random()*16777215+0.5)>>0).toString(16)).slice(-6); }
                }
                 },
                 data: []
             }]
         });
         
         myChart.showLoading();    //数据加载完之前先显示一段简单的loading动画
         
         var names=[];    //横坐标数组(实际用来盛放X轴坐标值)
         var nums=[];    //纵坐标数组(实际用来盛放Y坐标值)
         
         $.ajax({
         type : "post",
         async : true,            //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
         url : "dataAction_queryFunds.action",    //请求发送到dataActiont处
         data : {},
         dataType : "json",        //返回数据形式为json
         success : function(result) {
             //请求成功时执行该函数内容,result即为服务器返回的json对象
             if (result) {
                    for(var i=0;i<result.length;i++){       
                       names.push(result[i].dataTitle);
                       nums.push(result[i].dataBugets);//挨个取出类别并填入类别数组
                     }
                   
                    myChart.hideLoading();    //隐藏加载动画
                    myChart.setOption({        //加载数据图表
                        xAxis: {
                            data: names
                        },
                        series: [{
                            // 根据名字对应到相应的系列
                            name: '金额',
                            data: nums
                           
                        }]
                    });
                    
             }
         
        },
         error : function(errorMsg) {
             //请求失败时执行该函数
         alert("图表请求数据失败!");
         myChart.hideLoading();
         }
    })


         
    </script>
    
</body>
</html> 
0 0