• EChartsDemo-饼图01


    一、Controller 后台代码(模拟数据)

    using MaybeEleven.EchartsDemo.Models;
    using Newtonsoft.Json;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace MaybeEleven.EchartsDemo.Controllers
    {
        public class HomeController : Controller
        {
            private int index = 0;
    
            [HttpGet]
            public ActionResult GetDepartmentEcharts()
            {
                if (Request.IsAjaxRequest())
                {
                    List<Student> Students = new List<Student>
                {
                    new Student{
                        Id=++index,
                        Name="张三",
                        CreateTime=DateTime.Now,
                        ModifyTime=null,
                        Department="骨科"
                    },
                     new Student{
                        Id=++index,
                        Name="张三",
                        CreateTime=DateTime.Now,
                        ModifyTime=null,
                         Department="眼科"
                    },
                      new Student{
                        Id=++index,
                        Name="李四",
                        CreateTime=new DateTime(2020,7,11),
                        ModifyTime=null,
                         Department="眼科"
                    },
                       new Student{
                        Id=++index,
                        Name="赵六",
                         CreateTime=new DateTime(2019,7,11),
                        ModifyTime=null
                    },
                        new Student{
                        Id=++index,
                        Name="张三是",
                        CreateTime=new DateTime(2018,7,11),
                        ModifyTime=null,
                         Department="妇科"
                    },
                         new Student{
                        Id=++index,
                        Name="范德萨发生的",
                        CreateTime=new DateTime(2018,3,11),
                        ModifyTime=null,
                         Department="眼科"
                    },
                          new Student{
                        Id=++index,
                        Name="赵六",
                         CreateTime=new DateTime(2019,7,11),
                        ModifyTime=null,
                         Department="耳鼻喉科"
                    },
                        new Student{
                        Id=++index,
                        Name="张三是",
                        CreateTime=new DateTime(2003,7,11),
                        ModifyTime=null,
                         Department="耳鼻喉科"
                    },
                         new Student{
                        Id=++index,
                        Name="范德萨发生的",
                        CreateTime=new DateTime(2002,3,11),
                        ModifyTime=null,
                         Department="眼科"
                    },
                          new Student{
                        Id=++index,
                        Name="赵六",
                         CreateTime=new DateTime(2016,7,11),
                        ModifyTime=null,
                         Department="妇科"
                    },
                        new Student{
                        Id=++index,
                        Name="张三是",
                        CreateTime=new DateTime(2015,7,11),
                        ModifyTime=null
                    },
                         new Student{
                        Id=++index,
                        Name="范德萨发生的",
                        CreateTime=new DateTime(2018,3,11),
                        ModifyTime=null,
                         Department="骨科"
                    },
                };
    
                    var data = Students.GroupBy(g => g.CreateTime.Year)
                        .Select(g => new EchartsDepartmentEntity
                        {
                            value = g.Count(),
                            name = g.Key.ToString()
                        }).OrderBy(x => x.name);
                    return Json(new { data = data }, JsonRequestBehavior.AllowGet);
                }
    
                return View();
            }
    
          
        }
    }

    二、实体类

     1 using System;
     2 
     3 namespace MaybeEleven.EchartsDemo.Models
     4 {
     5     public class Student
     6     {
     7 
     8         public int Id { get; set; }
     9 
    10         public string Name { get; set; }
    11 
    12         public DateTime CreateTime { get; set; }
    13 
    14         public DateTime? ModifyTime { get; set; }
    15 
    16         public string Department { get; set; }
    17     }
    18 }
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 
     6 namespace MaybeEleven.EchartsDemo.Models
     7 {
     8     public class EchartsEntity
     9     {
    10         public string name { get; set; }
    11         public dynamic value { get; set; }
    12     }
    13 
    14     public class EchartsDepartmentEntity : EchartsEntity
    15     {
    16         public string category { get; set; }
    17     }
    18 }

    三、渲染视图(ECharts5+jQuery 插件自己准备)+function返回echarts中需要的数据

    @{
        Layout = null;
    }
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>年手术例数统计</title>
        <script src="~/Scripts/jquery-3.4.1.js"></script>
        <script src="~/Scripts/echarts.js"></script>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
    
            #container {
                 700px;
                height: 595px;
                display: inline-block;
            }
        </style>
    </head>
    <body>
        <div id="container"></div>
        <script>
            //Echart 图表容器
            var myChart = echarts.init(document.querySelector("#container"));
            $(function () {
                //文档就绪
                getEchatOperations()
            })
    
            //自定义函数返回格式 [{name:"2015",value:1320}]
            function getEchatOperations() {
                $.ajax({
                    type: 'get',
                    url:"@Url.Action("GetDepartmentEcharts", "Home")",
                    dataType: 'json',
                    success: function (res) {
                        // 绑定数据
                        renderChartOne(res.data)
                    }
                })
            }
           
            function renderChartOne(d) {
               
              var   option = {
                    title: {
                        text: "年手术例数统计",
                        subtext: "虚拟数据",
                        left: "center",
                    },
                    tooltip: {
                        trigger: 'item'
                    },
                    legend: {
                        top: '5%',
                        right: 'right'
                    },
                    series: [
                        {
                            name: '访问来源',
                            type: 'pie',
                            center: ['50%', '50%'],
                            radius: [50, 250],
                            roseType: 'area',
                            avoidLabelOverlap: false,
                            itemStyle: {
                                borderRadius: 10,
                                borderColor: '#fff',
                                borderWidth: 2
                            },
                            label: {
                                show: false,
                                position: 'center'
                            },
                            emphasis: {
                                label: {
                                    show: true,
                                    fontSize: '20',
                                    fontWeight: 'bold'
                                }
                            },
                            labelLine: {
                                show: false
                            },
                            data: d
                        }
                    ]
                };
    
                option && myChart.setOption(option);
            }
        </script>
    </body>
    </html>
  • 相关阅读:
    汇付 支付,痛苦的接入过程
    路由集合中已存在名为“ XXXX” 的路由
    博客目录
    (转载)为什么使用APP Bundle
    安卓基础:后台任务
    安卓基础:应用权限
    安卓资源的使用 二
    kotlin学习三:lambda 和内联函数
    kotlin学习二:函数
    kotlin学习一:基础语法
  • 原文地址:https://www.cnblogs.com/ABC-wangyuhan/p/14506750.html
Copyright © 2020-2023  润新知