ECharts 在 .net 中实现动态加载数据 柱图

前台
<div id="min2" style="width: 100%; height: 550px; float: left"></div>

<script type="text/javascript">
                                    // 基于准备好的dom,初始化echarts实例
                                    var myChart2 = echarts.init(document.getElementById('min2'));
                                    var color = ['#a140f3', '#c787fd', '#e9c9fb']
                                    // 指定图表的配置项和数据
                                    option2 = {
                                        color: color,
                                        tooltip: {
                                            trigger: 'axis',
                                            axisPointer: {            // 坐标轴指示器,坐标轴触发有效
                                                type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
                                            }
                                        },
                                        grid: {
                                            left: '3%',
                                            right: '4%',
                                            bottom: '16%',
                                            top: '3%',
                                            containLabel: true
                                        }, xAxis: {
                                            type: 'category',

                                            data: []
                                        },
                                        yAxis: {
                                            type: 'value',
                                        },

                                    };
                                    loadajax()
                                    function loadajax() {
                                        $.ajax({
                                            type: "post",  //请求方式
                                            url: "SWSMZB_Service.ashx",  //请求路径:页面/方法名字
                                            data: {
                                                sys_type: 'setChart2',
                                                year1: $("#year1_value").html(),
                                                month1: $("#month_value").html()
                                            },     //参数 
                                            dataType: "json",
                                            async: false,
                                            success: function (result) {  //成功
                                                if (result) {
                                                    var xAxis = {
                                                        type: 'category',
                                                        data: result.legend_data,
                                                       axisLabel: {
                                                            interval: 0,
                                                            rotate: 20,//倾斜度 -90 至 90 默认为0  
                                                            margin: 10,
                                                        },
                                                    }, series = [
                                                                    {
                                                                        type: 'bar',
                                                                        stack: '总数',
                                                                        label: {
                                                                            normal: {
                                                                                show: true,
                                                                                position: 'insideRight'
                                                                            }
                                                                        },
                                                                        data: result.series_data,
                                                                        itemStyle: {
                                                                            normal: {
                                                                                shadowBlur: 10,
                                                                                shadowOffsetX: 0,
                                                                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                                                                            },
                                                                            emphasis: {//normal显示阴影,与shadow有关的都是阴影的设置

                                                                                shadowBlur: 30,//阴影大小
                                                                                shadowOffsetX: 0,//阴影水平方向上的偏移
                                                                                shadowOffsetY: 0,//阴影垂直方向上的偏移
                                                                                shadowColor: 'rgba(0,0,0,0.5)'//阴影颜色
                                                                            }
                                                                        }
                                                                    }

                                                    ]
                                                    option2.xAxis = xAxis;
                                                    option2.series = series;
                                                }
                                            }
                                        });
                                        myChart2.setOption(option2);
                                    }
                                 </script>

后台

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using 12OA.DB.Table;

namespace 12OA.JMJKGL.XQJKZK
{
    /// <summary>
    /// SWSMZB_Service 的摘要说明
    /// </summary>
    public class SWSMZB_Service : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            string Sys_type = context.Request["sys_type"];
            if (Sys_type == "setChart2")
            {
                json = SetChart2();
            }
            context.Response.ContentType = "text/plain";
            context.Response.Write(json);
            context.Response.End();
        }

        public string SetChart2()
        {
            string cmd = "";
            string sql = @"select jbmc,sws from tbl_swyy_Info where 1=1  ";
             cmd = " and bgrq='" + year1 + "' and jbmc like '%小计' and sws>1  order by sws desc";
           //使用DataTable 保存数据
            DataTable dt = FrmBase.GetDataTable_Select(sql);

            string data_Fl = "";
            string data = "";
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                data_Fl += "\"" + dt.Rows[i]["jbmc"].ToString() + "\",";
                data += " { \"value\": " + dt.Rows[i]["sws"] + ", \"name\": \"" + dt.Rows[i]["jbmc"].ToString() + "\" },";

            }
            return "{\"legend_data\":[" + data_Fl.TrimEnd(',') + "]," + "\"series_data\":[" + data.TrimEnd(',') + "] }";
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}
最终实现的效果




  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Echarts在Java动态加载数据需要以下步骤: 1. 创建一个包含Echarts的HTML页面,通过Ajax请求从后台获取数据,然后渲染Echarts图表。 2. 在Java后端编写一个Controller,接收前端Ajax请求,查询数据库或者其他数据源,然后将数据以JSON格式返回给前端。 3. 在JavaScript编写Ajax请求,获取后端返回的JSON数据,然后解析数据并渲染Echarts图表。 以下是一个简单的示例代码: 1. HTML页面 ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>动态加载Echarts数据</title> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.9.0/echarts.min.js"></script> </head> <body> <div id="chart" style="width: 600px;height:400px;"></div> <script> // 使用Ajax获取数据并渲染Echarts图表 function renderChart() { $.ajax({ url: '/getData', type: 'GET', dataType: 'json', success: function (data) { var chart = echarts.init(document.getElementById('chart')); chart.setOption({ title: { text: '动态加载Echarts数据' }, tooltip: {}, xAxis: { data: data.categories }, yAxis: {}, series: [{ name: '销量', type: 'bar', data: data.data }] }); } }); } // 页面加载完成后渲染Echarts图表 $(document).ready(function() { renderChart(); }); </script> </body> </html> ``` 2. Java后端Controller ```java @RestController public class ChartController { @GetMapping("/getData") public Map<String, Object> getData() { // 从数据库或其他数据源查询数据 List<String> categories = Arrays.asList("衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"); List<Integer> data = Arrays.asList(5, 20, 36, 10, 10, 20); // 将数据以JSON格式返回给前端 Map<String, Object> result = new HashMap<>(); result.put("categories", categories); result.put("data", data); return result; } } ``` 3. JavaScript的Ajax请求 ```javascript // 使用Ajax获取数据并渲染Echarts图表 function renderChart() { $.ajax({ url: '/getData', type: 'GET', dataType: 'json', success: function (data) { var chart = echarts.init(document.getElementById('chart')); chart.setOption({ title: { text: '动态加载Echarts数据' }, tooltip: {}, xAxis: { data: data.categories }, yAxis: {}, series: [{ name: '销量', type: 'bar', data: data.data }] }); } }); } // 页面加载完成后渲染Echarts图表 $(document).ready(function() { renderChart(); }); ``` 以上是一个简单的使用Echarts在Java动态加载数据的示例代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值