zoukankan      html  css  js  c++  java
  • echarts报表

    <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html style="height: 100%">
    <head>
    <meta charset="utf-8">
    <script type="text/javascript" src="./js/jquery.js"></script>
    <script type="text/javascript" src="./js/echarts.min.js"></script>
    </head>
    <body style="height: 100%; margin: 0">
    <div id="container" style="height: 100%"></div>
    <script type="text/javascript">
    var dom = document.getElementById("container");
    var myChart = echarts.init(dom);
    var app = {};
    option = null;
    var employees = [
    { "hour":"1" , "value":"220" },
    { "hour":"2" , "value":"182" },
    { "hour":"3" , "value":"191" },
    { "hour":"4" , "value":"234" },
    { "hour":"5" , "value":"290" },
    { "hour":"6" , "value":"330" },
    { "hour":"7" , "value":"310" },
    { "hour":"8" , "value":"123" },
    { "hour":"9" , "value":"442" },
    { "hour":"10" , "value":"321" },
    { "hour":"11" , "value":"90" },
    { "hour":"12" , "value": "149" }
    ];
    var dataAxis = [];
    var yMax = 500;
    var dataShadow = [];

    for (var i = 0; i < employees.length; i++) {
    dataShadow.push(yMax);
    dataAxis.push(employees[i].hour+":00");
    }

    option = {
    title: {
    text: '带伸缩的柱状和折线混合图',
    subtext: '学习用'
    },
    tooltip : {
    trigger: 'axis',
    axisPointer: {//标尺线
    type: 'cross',//也可以是shadow和line
    label: {
    backgroundColor: '#283b56'
    }
    },
    formatter: function (params) {
    var tar;
    if (params[1].value != '-') {
    tar = params[1];
    }
    else {
    tar = params[0];
    }
    return '申请数量 : ' + tar.value;
    }
    },
    xAxis: {
    data: dataAxis
    },
    yAxis: {
    axisLine: {
    show: false//显示数据,但不显示竖线
    },
    axisTick: {
    show: false//显示数据,但不显示竖线
    },
    axisLabel: {
    textStyle: {
    color: '#999'
    }
    }
    },
    dataZoom: [
    {
    type: 'inside'
    }
    ],
    series: [
    { // For shadow
    type: 'bar',//隐形的柱形图
    itemStyle: {
    normal: {color: 'rgba(0,0,0,0.05)'}
    },
    barGap:'-100%',
    barCategoryGap:'40%',
    data: dataShadow,
    animation: false
    },
    {
    type: 'bar',//显示的柱形图
    itemStyle: {
    normal: {
    color: new echarts.graphic.LinearGradient(
    0, 0, 0, 1,
    [
    {offset: 0, color: '#83bff6'},
    {offset: 0.5, color: '#188df0'},
    {offset: 1, color: '#188df0'}
    ]
    ),
    label: {//信息显示方式
    show: true,
    position: 'top',
    formatter: '{b}申请数量:{c}'
    }
    },
    emphasis: {
    color: new echarts.graphic.LinearGradient(
    0, 0, 0, 1,
    [
    {offset: 0, color: '#2378f7'},
    {offset: 0.7, color: '#2378f7'},
    {offset: 1, color: '#83bff6'}
    ]
    )
    }
    },
    data: functionName(employees)
    },
    {
    name:'折线',
    type:'line',
    itemStyle : { /*设置折线颜色*/
    normal : {
    /* color:'#c4cddc'*/
    }
    },
    data:functionName(employees)
    }
    ]
    };

    // Enable data zoom when user click bar.
    var zoomSize = 6;
    myChart.on('click', function (params) {
    console.log(dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)]);
    myChart.dispatchAction({
    type: 'dataZoom',
    startValue: dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)],
    endValue: dataAxis[Math.min(params.dataIndex + zoomSize / 2, functionName(employees) - 1)]
    });
    });;
    if (option && typeof option === "object") {
    myChart.setOption(option, true);
    }

    function functionName(param){

    //在这里可以通过ajax动态请求后台数据并填充到employees数组中,ajax最后设置async:false,不然就不是动态请求了

    $.ajax({

    type:"post",

    async:false,

    url:url,

    data:{},

    dataType:"text",

    success:function(json){

      var array = new Array(eval("(")+json+")")[0];

      for(var i=0,len=array.length;i<len;i++){

        employees[i].value=array[i]["key"];

      }

    },

    error(XMLHttpRequest,errorThrown,status){

      alert("解析报错:"+XMLHttpRequest.responseText);

    }

    });
    var serie = [];
    for(var i = 0; i < param.length; i++){
    var item = {
    name:param[i].name,
    value:param[i].value
    };
    serie.push(item );
    };
    return serie;
    }
    </script>
    </body>
    </html>

  • 相关阅读:
    尽解powershell的workflow
    powershell玩转iis网站服务器
    Windows Terminal (Preview)治好了cmd,powershell的癌症
    博客园“NET Core 版博客系统”的运维浅见
    此贴告诉你:为啥shell脚本人,不建议学python
    关于revit的外部扩展存储
    Revit二次开发 屏蔽复制构件产生的重复类型提示窗
    xpath测试工具 xpath调试工具
    c# 防止重复运行 弹出已运行窗口并传递消息
    .NET APlayer播放器 demo
  • 原文地址:https://www.cnblogs.com/nizuimeiabc1/p/8524969.html
Copyright © 2011-2022 走看看