.net用echart可视化动态显示数据,柱状图,折现图。

前台

引用js

<script src="../js/echarts.min.js"></script>

style样式必须要有哦

<style>
        .h1title {
            font-size: 16px;
            display: block;
            text-align: center;
            /*padding-top: 0.5em;*/
        }

        .echrttitle {
            line-height: 2rem;
            font-size: 14px;
            height: 6rem !important;
        }

            .echrttitle h1 {
                display: block;
                border-bottom: 1px solid #CCC;
                font-size: 16px;
                font-weight: bolder;
            }

            .echrttitle span {
                color: #188df0;
                font-weight: bolder;
                margin: 0 0.5rem;
            }

        /*.layui-col-sm12 {
            height: 17rem;
        }*/

        #mychart4 li {
            line-height: 3rem;
        }

            #mychart4 li span {
                float: right;
            }

                #mychart4 li span b {
                    color: #188df0;
                    font-weight: bolder;
                    margin-right: 0.5rem;
                }

        .layui-fluid {
            padding-left: 30px;
        }

        .SMenu {
            position: fixed;
            width: 20px;
            top: 20%;
            left: 5px;
            z-index: 999;
        }

            .SMenu li {
                border: 1px solid #0b4ba3;
                margin-top: 0.5rem;
                border-radius: 20px;
                text-align: center;
                line-height: 1rem;
                cursor: pointer;
            }

                .SMenu li a {
                    font-size: 6px;
                    padding: 0.5em 0;
                    display:block;
                    height:100%;
                }

                .SMenu li.act, .SMenu li:hover {
                    background-color: #0b4ba3;
                }

                    .SMenu li.act a, .SMenu li:hover a {
                        color: #FFF;
                    }
                        .layui-col-sm-two {
            height: 17rem;
            top:-1.5em;
        }
    </style>

body里面这样子

<body>
    <form id="form1" runat="server">
        <div class="layui-fluid">
            <div class="layui-row"> 
                <div class="layui-col-sm12">
                    <h1 class="h1title">新增流动人口</h1>
                    <div class="layui-col-sm12 echrttitle">
                        <h1>增长趋势</h1>
                        <div class="layui-col-sm6">人口数量<span id="sumphone">0</span>个</div>
                        <div class="layui-col-sm6" style="text-align: right">今日新增数量<span id="daycount">0</span>个 
                            <%--投诉<span id="dayts">0</span>个--%>

                        </div>
                    </div>
                </div>
                   <div class="layui-col-sm6 layui-col-sm-two" id="mychart1">
                    </div>
                    <div class="layui-col-sm6 layui-col-sm-two" id="mychart2">
                    </div>
                    <div class="layui-col-sm6 layui-col-sm-two" id="mychart3">
                    </div>
                <div class="layui-col-sm6 layui-col-sm-two" id="mychart4">
                    </div>
                    <script>

                        $.ajax({
                            url: 'NewPerson.aspx?action=yue',
                            dataType: 'json',
                            async: false,
                            success: function (data) {

                                $("#sumphone").text(data.sum);
                                $("#daycount").text(data.day);
                                $("#dayts").text(data.dayts);
                                //加载
                                var mychart1 = echarts.init(document.getElementById('mychart1'));
                                var option1 = {
                                    xAxis: {
                                        type: 'category',
                                        boundaryGap: false,
                                        data: data.date
                                    },
                                    grid: {
                                        left: '6%',
                                        right: 30,
                                        top: 10,
                                        bottom: 50
                                    },
                                    yAxis: {
                                        type: 'value'
                                    },
                                    legend: {
                                        bottom: 0,
                                        data: ['月'],
                                    },
                                    tooltip: {
                                        trigger: 'axis',
                                        axisPointer: {
                                            type: 'cross',
                                            animation: false,
                                            label: {
                                                backgroundColor: '#505765'
                                            }
                                        }
                                    },
                                    series: [{
                                        name: '月',
                                        data: data.yue,//投诉
                                        type: 'line',
                                        color: '#398e19',
                                        areaStyle: {
                                            color: '#33ba5c'
                                        }
                                    },
                                    {
                                        name: '季',
                                        data: data.ji,
                                        type: 'line',
                                        color: '#a18e49',
                                        areaStyle: {
                                            color: '#b3980b'
                                        }
                                    },
                                    {
                                        name: '半年',
                                        data: data.bannian,
                                        type: 'line',
                                        color: '#a18e49',
                                        areaStyle: {
                                            color: '#b3980b'
                                        }
                                    },
                                    {
                                        name: '年',
                                        data: data.nian,
                                        type: 'line',
                                        color: '#a18e49',
                                        areaStyle: {
                                            color: '#b3980b'
                                        }
                                    },

                                    ]
                                };

                                mychart1.setOption(option1);
                            }
                        })
                        $.ajax({
                            url: 'NewPerson.aspx?action=jidu',
                            dataType: 'json',
                            async: false,
                            success: function (data) {

                                $("#sumphone").text(data.sum);
                                $("#daycount").text(data.day);
                                $("#dayts").text(data.dayts);
                                //加载
                                var mychart1 = echarts.init(document.getElementById('mychart2'));
                                var option1 = {
                                    xAxis: {
                                        type: 'category',
                                        //boundaryGap: false,

                                        data: data.date
                                    },
                                    grid: {
                                        left: '6%',
                                        right: 30,
                                        top: 10,
                                        bottom: 50
                                    },
                                    yAxis: {
                                        type: 'value'
                                    },
                                    legend: {
                                        bottom: 0,
                                        data: [ '季'],
                                    },
                                    tooltip: {
                                        trigger: 'axis',
                                        axisPointer: {
                                            type: 'cross',
                                            animation: false,
                                            label: {
                                                backgroundColor: '#505765'
                                            }
                                        }
                                    },
                                    series: [{
                                        name: '月',
                                        data: data.yue,//投诉
                                        type: 'line',
                                        color: '#398e19',
                                        barWidth: 50,
                                        areaStyle: {
                                            color: '#33ba5c'

                                        }
                                    },
                                    {
                                        name: '季',
                                        data: data.ji,
                                        type: 'bar',
                                        color: '#a18e49',
                                        barWidth: 50,
                                        areaStyle: {
                                            color: '#b3980b'
                                        }
                                    },
                                    {
                                        name: '半年',
                                        data: data.bannian,
                                        type: 'line',
                                        color: '#a18e49',
                                        areaStyle: {
                                            color: '#b3980b'
                                        }
                                    },
                                    {
                                        name: '年',
                                        data: data.nian,
                                        type: 'line',
                                        color: '#a18e49',
                                        areaStyle: {
                                            color: '#b3980b'
                                        }
                                    },

                                    ]
                                };

                                mychart1.setOption(option1);
                            }
                        })

                        $.ajax({
                            url: 'NewPerson.aspx?action=bannian',
                            dataType: 'json',
                            async: false,
                            success: function (data) {

                                $("#sumphone").text(data.sum);
                                $("#daycount").text(data.day);
                                $("#dayts").text(data.dayts);
                                //加载
                                var mychart1 = echarts.init(document.getElementById('mychart3'));
                                var option1 = {
                                    xAxis: {
                                        type: 'category',
                                        //boundaryGap: false,

                                        data: data.date
                                    },
                                    grid: {
                                        left: '6%',
                                        right: 30,
                                        top: 10,
                                        bottom: 50
                                    },
                                    yAxis: {
                                        type: 'value'
                                    },
                                    legend: {
                                        bottom: 0,
                                        data: [ '半年'],
                                    },
                                    tooltip: {
                                        trigger: 'axis',
                                        axisPointer: {
                                            type: 'cross',
                                            animation: false,
                                            label: {
                                                backgroundColor: '#505765'
                                            }
                                        }
                                    },
                                    series: [{
                                        name: '月',
                                        data: data.yue,//投诉
                                        type: 'line',
                                        color: '#398e19',
                                        barWidth: 50,
                                        areaStyle: {
                                            color: '#33ba5c'

                                        }
                                    },
                                    {
                                        name: '季',
                                        data: data.ji,
                                        type: 'line',
                                        color: '#a18e49',
                                        barWidth: 50,
                                        areaStyle: {
                                            color: '#b3980b'
                                        }
                                    },
                                    {
                                        name: '半年',
                                        data: data.bannian,
                                        type: 'bar',
                                        color: '#006699',
                                        barWidth: 120,
                                        areaStyle: {
                                            color: '#006699'
                                        }
                                    },
                                    {
                                        name: '年',
                                        data: data.nian,
                                        type: 'line',
                                        color: '#a18e49',
                                        areaStyle: {
                                            color: '#b3980b'
                                        }
                                    },

                                    ]
                                };

                                mychart1.setOption(option1);
                            }
                        })
                        $.ajax({
                            url: 'NewPerson.aspx?action=nian',
                            dataType: 'json',
                            async: false,
                            success: function (data) {

                                $("#sumphone").text(data.sum);
                                $("#daycount").text(data.day);
                                $("#dayts").text(data.dayts);
                                //加载
                                var mychart1 = echarts.init(document.getElementById('mychart4'));
                                var option1 = {
                                    xAxis: {
                                        type: 'category',
                                        //boundaryGap: false,

                                        data: data.date
                                    },
                                    grid: {
                                        left: '6%',
                                        right: 30,
                                        top: 10,
                                        bottom: 50
                                    },
                                    yAxis: {
                                        type: 'value'
                                    },
                                    legend: {
                                        bottom: 0,
                                        data: [ '年'],
                                    },
                                    tooltip: {
                                        trigger: 'axis',
                                        axisPointer: {
                                            type: 'cross',
                                            animation: false,
                                            label: {
                                                backgroundColor: '#505765'
                                            }
                                        }
                                    },
                                    series: [{
                                        name: '月',
                                        data: data.yue,//投诉
                                        type: 'line',
                                        color: '#398e19',
                                        barWidth: 50,
                                        areaStyle: {
                                            color: '#33ba5c'

                                        }
                                    },
                                    {
                                        name: '季',
                                        data: data.ji,
                                        type: 'line',
                                        color: '#a18e49',
                                        barWidth: 50,
                                        areaStyle: {
                                            color: '#b3980b'
                                        }
                                    },
                                    {
                                        name: '半年',
                                        data: data.bannian,
                                        type: 'line',
                                        color: '#a18e49',
                                        areaStyle: {
                                            color: '#b3980b'
                                        }
                                    },
                                    {
                                        name: '年',
                                        data: data.nian,
                                        type: 'bar',
                                        color: '#e5323e',
                                        barWidth: 100,
                                        areaStyle: {
                                            color: '#e5323e'
                                        }
                                    },

                                    ]
                                };

                                mychart1.setOption(option1);
                            }
                        })

                    </script>

            </div>
    </form>
</body>

后台代码

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["action"] != null)
                {
                    Bind();
                }
            }
        }

        private void Bind()
        {
            switch (Request.QueryString["action"])
            {//每个case根据不同的月,季,半年,年进行查询并返回json
                case "yue"://按月统计
                    int sum = (int)DbHelperSQL.GetSingle("select count(fid) from FloatingPopulation where FState=0");
                    int day = (int)DbHelperSQL.GetSingle("select COUNT(fid) from FloatingPopulation where FState=0 and DATEDIFF(D,addtime,GETDATE())=0");//当日人员数量
                    int dayts = (int)DbHelperSQL.GetSingle("select COUNT(fid) from FloatingPopulation where FState=0 and DATEDIFF(D,addtime,GETDATE())=0");//当日的新增数量
                    string date = "[";
                    string yue = "[";
                    string ji = "[";
                    string bannian = "[";
                    string nian = "[";

                     System.Data.DataTable tscldt = DbHelperSQL.QueryDT("SELECT COUNT(*) shuliang,CONVERT(VARCHAR(7),addtime, 120) yuefen FROM [FloatingPopulation] where FState = 0 GROUP BY CONVERT(VARCHAR(7),addtime, 120)");//最大与最小日期

                     foreach (DataRow dr in tscldt.Rows)
                     {
                         yue += "\"" + dr["shuliang"] + "\",";
                         date += "\"" + dr["yuefen"] + "\",";
                     }

                    date = date.TrimEnd(',') + "]";
                    yue = yue.TrimEnd(',') + "]";
                    ji = ji.TrimEnd(',') + "]";
                    bannian = bannian.TrimEnd(',') + "]";
                    nian = nian.TrimEnd(',') + "]";


                    Response.Write("{\"sum\":" + sum + ",\"day\":" + day + ",\"dayts\":" + dayts + ",\"date\":" + date + ",\"yue\":" + yue + "}");
                    break;
                case "jidu"://按季度统计
                    int sum_jidu = (int)DbHelperSQL.GetSingle("select count(fid) from FloatingPopulation where FState=0");
                    int day_jidu = (int)DbHelperSQL.GetSingle("select COUNT(fid) from FloatingPopulation where FState=0 and DATEDIFF(D,addtime,GETDATE())=0");//当日人员数量
                    int dayts_jidu = (int)DbHelperSQL.GetSingle("select COUNT(fid) from FloatingPopulation where FState=0 and DATEDIFF(D,addtime,GETDATE())=0");//当日的新增数量
                    string date_jidu = "[";
                    string yue_jidu = "[";
                    string ji_jidu = "[";
                    string bannian_jidu = "[";
                    string nian_jidu = "[";

                    System.Data.DataTable tscldt_jidu = DbHelperSQL.QueryDT("select  case when  month(addtime)  =1 or month(addtime) =2  or month(addtime)=3   then '1季度'    when  month(addtime)  =4 or month(addtime) =5  or month(addtime)=6   then '2季度'  when  month(addtime)  =7 or month(addtime) =8  or month(addtime)=9   then '3季度' when  month(addtime)  =10 or month(addtime) =11  or month(addtime)=12   then '4季度'  else '' end as jidu ,count(*) as shuliang from [FloatingPopulation] where FState = 0  group by   case when  month(addtime)  =1 or month(addtime) =2  or month(addtime)=3   then '1季度'  when  month(addtime)  =4 or month(addtime) =5  or month(addtime)=6   then '2季度'  when  month(addtime)  =7 or month(addtime) =8  or month(addtime)=9   then '3季度'  when  month(addtime)  =10 or month(addtime) =11  or month(addtime)=12   then '4季度'  else '' end");//最大与最小日期

                    foreach (DataRow dr in tscldt_jidu.Rows)
                    {
                        ji_jidu += "\"" + dr["shuliang"] + "\",";
                        date_jidu += "\"" + dr["jidu"] + "\",";
                    }



                    date_jidu = date_jidu.TrimEnd(',') + "]";
                    yue_jidu = yue_jidu.TrimEnd(',') + "]";
                    ji_jidu = ji_jidu.TrimEnd(',') + "]";
                    bannian_jidu = bannian_jidu.TrimEnd(',') + "]";
                    nian_jidu = nian_jidu.TrimEnd(',') + "]";


                    Response.Write("{\"sum\":" + sum_jidu + ",\"day\":" + day_jidu + ",\"dayts\":" + dayts_jidu + ",\"date\":" + date_jidu + ",\"ji\":" + ji_jidu + "}");
                    break;
                case "bannian"://按半年统计
                    int sum_bannian = (int)DbHelperSQL.GetSingle("select count(fid) from FloatingPopulation where FState=0");
                    int day_bannian = (int)DbHelperSQL.GetSingle("select COUNT(fid) from FloatingPopulation where FState=0 and DATEDIFF(D,addtime,GETDATE())=0");//当日人员数量
                    int dayts_bannian = (int)DbHelperSQL.GetSingle("select COUNT(fid) from FloatingPopulation where FState=0 and DATEDIFF(D,addtime,GETDATE())=0");//当日的新增数量
                    string date_bannian = "[";
                   
                   
                    string bannian_bannian = "[";
                   

                    System.Data.DataTable tscldt_bannian = DbHelperSQL.QueryDT("select  case when  month(addtime)  =1 or month(addtime) =2 or month(addtime)=3 or  month(addtime)  =4 or month(addtime) =5 or month(addtime)=6   then '上半年' when  month(addtime)  =7 or month(addtime) =8 or month(addtime)=9 or  month(addtime)  =10 or month(addtime) =11 or month(addtime)=12   then '下半年' else '' end as bannian ,count(*) as shuliang from [FloatingPopulation] where FState = 0 group by case when  month(addtime)  =1 or month(addtime) =2 or month(addtime)=3 or  month(addtime)  =4 or month(addtime) =5 or month(addtime)=6   then '上半年' when  month(addtime)  =7 or month(addtime) =8 or month(addtime)=9 or  month(addtime)  =10 or month(addtime) =11 or month(addtime)=12   then '下半年' else '' end");

                    foreach (DataRow dr in tscldt_bannian.Rows)
                    {
                        bannian_bannian += "\"" + dr["shuliang"] + "\",";
                        date_bannian += "\"" + dr["bannian"] + "\",";
                    }
                    date_bannian = date_bannian.TrimEnd(',') + "]";
                    bannian_bannian = bannian_bannian.TrimEnd(',') + "]";
                    Response.Write("{\"sum\":" + sum_bannian + ",\"day\":" + day_bannian + ",\"dayts\":" + dayts_bannian + ",\"date\":" + date_bannian + ",\"bannian\":" + bannian_bannian + "}");
                    break;
                case "nian"://按一年统计
                    int sum_nian = (int)DbHelperSQL.GetSingle("select count(fid) from FloatingPopulation where FState=0");
                    int day_nian = (int)DbHelperSQL.GetSingle("select COUNT(fid) from FloatingPopulation where FState=0 and DATEDIFF(D,addtime,GETDATE())=0");//当日人员数量
                    int dayts_nian = (int)DbHelperSQL.GetSingle("select COUNT(fid) from FloatingPopulation where FState=0 and DATEDIFF(D,addtime,GETDATE())=0");//当日的新增数量
                    string date_nian = "[";


                    string nian_nian = "[";


                    System.Data.DataTable tscldt_nian = DbHelperSQL.QueryDT("SELECT COUNT(*) shuliang,CONVERT(VARCHAR(4),addtime, 120) nian FROM [FloatingPopulation] where FState = 0  GROUP BY CONVERT(VARCHAR(4),addtime, 120)");//最大与最小日期

                    foreach (DataRow dr in tscldt_nian.Rows)
                    {
                        nian_nian += "\"" + dr["shuliang"] + "\",";
                        date_nian += "\"" + dr["nian"] + "\",";
                    }

                    date_nian = date_nian.TrimEnd(',') + "]";

                    nian_nian = nian_nian.TrimEnd(',') + "]";


                    Response.Write("{\"sum\":" + sum_nian + ",\"day\":" + day_nian + ",\"dayts\":" + dayts_nian + ",\"date\":" + date_nian + ",\"nian\":" + nian_nian + "}");
                    break;
                   
            }
            Response.End();
        }

好啦,简单实现了,后台里的sql还涉及到了按年度,按月份,按季度统计的逻辑

效果图

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值