zoukankan      html  css  js  c++  java
  • echart动态加载柱状图

    1前台页面:

    @{
    ViewBag.Title = "echart-柱状图";
    }
    <html>
    <head>
    <meta charset="utf-8">
    <title></title>
    </head>
    <body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="height:400px"></div>
    <button onclick="InitLineChart()">点击显示柱状图</button>
    <!-- ECharts单文件引入 -->
    <script src="~/Scripts/ECharts/echarts.js"></script>
    <script src="~/Scripts/ECharts/echarts-all.js"></script>
    <script type="text/javascript">
    // 基于准备好的dom,初始化echarts图表
    //var myChart = echarts.init(document.getElementById('main'));
    //var option = {
    // tooltip: {
    // show: true
    // },
    // legend: {
    // data: ['销量']
    // },
    // xAxis: [
    // {
    // type: 'category',
    // data: ["手机", "笔记本", "耳机", "平板", "台式机", "显示器"]
    // }
    // ],
    // yAxis: [
    // {
    // type: 'value'
    // }
    // ],
    // series: [
    // {
    // "name": "销量",
    // "type": "bar",
    // "data": [5, 20, 40, 10, 10, 20]
    // }
    // ]
    //};

    //// 为echarts对象加载数据
    //myChart.setOption(option);
    </script>


    <script type="text/javascript">
    function InitLineChart()
    {
    $.post("/Home/InitChartData",
    { "className": "" },
    function (data) {
    //获取返回的“对象集合”,并转换成jQuery能够识别的JSON格式
    var list = $.parseJSON(data);
    var xData = list.xAxisData;
    var yData = list.seriesData;
    // 基于准备好的dom,初始化echarts图表
    var myChart = echarts.init(document.getElementById('main'));
    var option = {
    tooltip: {
    show: true
    },
    legend: {
    data: ['步数']
    },
    xAxis: [
    {
    type: 'category',
    data: xData
    }
    ],
    yAxis: [
    {
    type: 'value'
    }
    ],
    series: [
    {
    "name": "步数",
    "type": "bar",
    "data": yData
    }
    ]
    };

    // 为echarts对象加载数据
    myChart.setOption(option);
    });


    }
    </script>
    </body>
    </html>

    2后台控制器:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.Data;
    using MySql.Data.MySqlClient;
    using EchartDemo.DBHelper;

    namespace EchartDemo.Controllers
    {
    public class HomeController : Controller
    {
    //
    // GET: /Home/

    public ActionResult Index()
    {

    return View();


    }


    public JsonResult InitChartData()
    {
    string[] xAxisData = null;
    string[] seriesData = null;
    string XData = null;
    string YData = null;
    DataTable dt = T9.Common.CommonDal.Query(@"SELECT DATE_FORMAT(createtime,'%Y%m%d') days,
    SUM(s_sportstep) AS TotalStep FROM wd_sport WHERE L_DID=18 GROUP BY days;").Tables[0];
    if (dt != null && dt.Rows.Count > 0)
    {
    foreach (DataRow drStep in dt.Rows)
    {
    XData += drStep["days"].ToString() + ",";
    YData += drStep["TotalStep"].ToString() + ",";
    }
    }
    xAxisData = XData.Trim(',').Split(',');
    seriesData = YData.Trim(',').Split(',');
    echartData chartData = new echartData();
    chartData.xAxisData = xAxisData;
    chartData.seriesData = seriesData;
    string datas = T9.Util.JSONUtil.JsonSerializer<echartData>(chartData);
    return Json(datas, JsonRequestBehavior.AllowGet);

    }


    public class echartData
    {
    public string[] xAxisData { get; set; }
    public string[] seriesData { get; set; }
    }

    //public JsonResult AllBarList()
    //{
    //{
    // "name":["iso","english","china","ufo","seo"],
    // "data":[400,200,300,100,11]
    //}
    // //https://www.cnblogs.com/clayzhang/p/7027139.html
    // var list=null;
    // return Json(new { total = list.Total,data=list}, JsonRequestBehavior.AllowGet);

    //}

    }
    }

    3得到得效果图:

    本文来自博客园,作者:.net&new,转载请注明原文链接:https://www.cnblogs.com/wugh8726254/p/12678800.html

  • 相关阅读:
    元祖操作
    列表操作
    字符串操作
    zabbix监控脚本
    nginx 使用php-fpm的配置php环境参数
    网卡切换脚本
    mysql数据备份脚本
    docker概念
    网络链路质量监控smokeping
    搭建speedtest
  • 原文地址:https://www.cnblogs.com/wugh8726254/p/12678800.html
Copyright © 2011-2022 走看看