echarts后台获取数据,前台实现饼图显示并自定义图形的数据表展示格式

2023-11-16

1.实现效果图:

切换前效果:

切换后效果:

 

2.关键的js代码:

var myChart = echarts.init(document.getElementById('aaa'));
// 为echarts对象加载数据 
var opts = "";
$.post("/getUnitAllPathData",
function(data) {
    opts = formatEchartsOpts(data);
    myChart.setOption(opts);
});

function formatEchartsOpts(map) {
    var title = "";
    var xName = "";
    var yName = "";
    var xArr = "";
    var yArr = "";

    if (map != null) {
        title = map.title;
        xName = map.xName;
        yName = map.yName;
        xArr = map.xArr;
        yArr = map.yArr;
    }
    return setSimplePieOption(title, xName, yName, xArr, yArr);
}

var setSimplePieOption = function(title, xName, yName, xArr, yArr) {
    var pData = [];
    for (var i = 0; i < xArr.length; i++) {
        var obj = {
            value: yArr[i],
            name: xArr[i]
        }
        pData.push(obj);
    }
    var option = {
        title: {
            text: title,
            x: 'left'
        },
        color: ['#66ADE1', '#41C8DB', '#BD52C6', '#E8C83F', '#F28743'],
        tooltip: {
            trigger: 'item',
            formatter: "{a} <br/>{b} : {c} ({d}%)"
        },
        toolbox: {
            show: true,
            right: 30,
            feature: {
                dataView: {
                    show: true,
                    title: '数据表',
                    lang: [title + "——数据表", "收起", "刷新"],
                    optionToContent: function(opt) {
                        var series = opt.series;
                        var table = '<div style="overflow-x:scroll;"><table style="width:max-content;text-align:center;" cellspacing="0" cellpadding="4" border="1"><tbody><tr>' + '<td>' + xName + '</td>'
                        for (var i = 0,l = xArr.length; i < l; i++) {
                            table += '<td>' + xArr[i] + '</td>'
                        }
                        table += '</tr><tr>' + '<td>' + yName + '</td>';
                        for (var i = 0,l = xArr.length; i < l; i++) {
                            table += '<td>' + yArr[i] + '</td>'
                        }
                        table += '</tr>'table += '</tbody></table>';
                        return table;
                    },
                    readOnly: true
                },
                saveAsImage: {
                    show: true
                }
            }
        },
        series: [{
            name: xName,
            type: 'pie',
            radius: '55%',
            center: ['50%', '60%'],
            data: pData,
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                },
                normal: {
                    label: {
                        show: true,
                        formatter: '{b} : {c} ({d}%)',
                    },
                    labelLine: {
                        show: true
                    }
                }
            }
        }],
        noDataLoadingOption: {
            text: '暂无数据',
            textStyle: {
                fontSize: '20',
            },
            effect: 'bubble',
            effectOption: {
                effect: {
                    n: 0
                }
            }
        },
    };
    return option;
}

3.Controller层代码(封装数据,此例中为静态模拟数据,实际项目中查数据库调用真是数据)

    @RequestMapping("/getUnitAllPathData")
	@ResponseBody
	public Map<String,Object> getUnitAllPathData(ModelMap modelMap, ActionValueAssistant actionValueAssistant) {
		Map<String,Object> map = new HashMap<String, Object>();
		try {
			map.put("title", "企业数据");
			map.put("xName", "企业规模");
			map.put("yName", "人数(百)");
			map.put("xArr",new String[]{"超大","大","中","小","微型"});
			map.put("yArr",new String[]{"300","2000","3000","2500","1000"});
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
		
		return map;
	}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

echarts后台获取数据,前台实现饼图显示并自定义图形的数据表展示格式 的相关文章

  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • 检查 jQuery 1.7 中是否存在基于文本的选择选项

    所以我有以下 HTML 片段
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • 不可勾选的单选按钮与专有的复选框

    从 UI 角度来看 是拥有一组具有取消选中功能的单选按钮更好 还是拥有一组独占的复选框 意味着一次只能选中一个 更好 Update 我没想到对此会有如此负面的反应 如果我给出一个更接近其使用方式的示例 也许会有所帮助 我有一个充满数据绑定内
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的
  • CSS溢出文本显示在几行中,没有断字

    我有一些长文本显示在 div 中 该 div 具有固定的宽度和高度 我希望文本显示在几行上 作为 div 高度 并且句子单词不会中断 一行中的单词前缀和下一行中的继续 此外 我想在末尾添加省略号最后一句话 CSS white space n
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • 动态测试方法

    动态测试方法 通过实际执行代码去发现潜在代码错误的测试方法 人工动态方法 人工动态方法 可以真正检测代码的业务逻辑功能 其关注点是 什么样的输入 执行了什么代码 产生了什么样的输出 主要用于发现算法错误和部分算法错误 是最主要的代码级测试手
  • 腾讯xSCR平台源码部署

    腾讯xSCR平台源码部署 腾讯开源src平台 看上去很不错的样子 在docker部署成功后 再次尝试源码部署 1 环境部署 Centos 7 Apache Nginx 这里我选择的是Apache 个人喜好 yum y install htt
  • 利用spring的profile切换不同的环境

    1 profile简单实用 简单暴力才是最好的 我们就简单地用一下 先不考虑和maven的集成使用 就可以解决烦人的事情
  • Lattics:一款简单易用、好看强大的「类脑式」知识管理工具,笔记应用与写作软件二合一

    如何选择一款适合自己的知识管理工具 随着数字化时代的到来 越来越多的人意识到知识管理的重要性 笔记软件和写作软件作为一种常用的知识管理工具 一直以来备受关注 从最早的印象笔记 有道云 为知笔记 幕布mubu到近几年的思源 Siyuan 熊掌
  • 新的选择器+CSS变量

  • 对于System.out.println简单了解

    System out println很多人都是处于用的阶段 并没有深入的了解 我也是 之所以来了解这个东西是因为在本地开发的时候启动项目的时候发现内存不足了 这个问题就很纳闷 明明刚刚还是好好的 突然就内存不足了 想到在之前写了几个Syst
  • 预防H7N9

    传染源 目前尚不明确 根据以往经验及本次病例流行病学调查 推测可能为携带H7N9禽流感病毒 的禽类及其分泌物或排泄物 1 症状 病情表现为典型的病毒性肺炎 起病急 病程早期有高热 38度以上可给予物理降温 如冰敷 乙醇擦浴 降温毯等 儿童禁
  • 电路基础和电路模拟——复习

    目录 前言 一 第一章电路基础 1 参考方向 关联参考方向的物理意义 参考方向 关联参考方向 2 电压与电位的区别 3 在非关联参考方向下 欧姆定律 功率计算的表达式 4 电容中电流与电压关系式 5 电容储能公式和物理意义 电容储能公式 物
  • 数据挖掘案例实战:利用LDA主题模型提取京东评论数据(二)

    泰迪智能科技 数据挖掘平台 TipDM数据挖掘平台 最新推出的数据挖掘实战专栏 专栏将数据挖掘理论与项目案例实践相结合 可以让大家获得真实的数据挖掘学习与实践环境 更快 更好的学习数据挖掘知识与积累职业经验 专栏中每四篇文章为一个完整的数据
  • 基于Python的考研调配系统考试成绩招生调剂-爬虫可视化大屏计算机毕业设计

    更多项目资源 最下方联系我们 目录 一 项目技术介绍 二 项目配套文档 部分内容 资料获取 一 项目技术介绍 该项目含有源码 文档 PPT 配套开发软件 软件安装教程 项目发布教程 包运行成功以及课程答疑与微信售后交流群 送查重系统不限次数
  • 多层多输入的CNN-LSTM时间序列回归预测(卷积神经网络-长短期记忆网络)——附代码

    目录 摘要 卷积神经网络 CNN 的介绍 长短期记忆网络 LSTM 的介绍 CNN LSTM Matlab代码运行结果 本文Matlab代码 数据分享 摘要 本文使用CNN LSTM混合神经网络对时间序列数据进行回归预测 本模型的输入数据个
  • pandas set_index和reset_index

    mport pandas as pd df a pd DataFrame data A B C A1 B1 C1 columns first second third print df a df a set index first seco
  • [项目管理-28]:四象限法与任务的时间优先级管理

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 四象限法介绍 1 1 概述 1 2 四象限优先级顺序 1 3 详细说明 前言 在项目管理中 我们经常遇到对各种各样的任务
  • 让Layui的table模块支持动态表头

    layui自带的table js插件是不支持的 这里我们简单的加几个字符进去 就可以支持了 1 打开插件目录下的layui lay modules目录 用文本文件打开table js 然后搜索 item2 title 在table js将
  • idea中如何创建xml文件

    本人做java开发程序员已经三年多了 从进入企业至今一直使用idea 对此开发工具还算了解 本人使用的版本 我是一个比较守旧的人 在2020年的今天还是依然使用2017年的版本 还请光大网友见谅哈 今天想说的就是如何在idea中创建 xml
  • docker高级篇(mysql主从,redis主从搭建,Dockerfile解析及docker-compose编排)

    本篇主要是mysql主从 redis主从搭建 Dockerfile解析及docker compose编排 轻量化可视化工具Portainer 重量级工具CAdvisor InfluxDB Granfana的使用 docker的安装 配置 卸
  • 如何把swf的动画嵌入到ppt中_flash(.swf)嵌入ppt中

    利用ppt的控件工具箱中的shockwave flash object控件 添加一个swf文件到ppt 然后右击这个swf文件编辑其属性时 把EmbedMovie一项的值改为True 就表示将其嵌入ppt 你就可以删除swf源文件了 使用
  • ThinkPad E40 XP 安装SATA/AHCI驱动

    ThinkPad E40 XP 安装SATA AHCI驱动 2010 11 06 16 42 我的机子是ThinkPad E40 0578A59 安装XP之后准备打开SATA硬盘的AHCI模式并安装其驱动 但是总是安装失败 只要在BIOS里
  • 吃透这份“Java进阶核心手册”再战字节,直接把面试官按在地上摩擦

    前言 本人计算机本科 已经有两年Java开发经验 由于原来公司已经不能满足我的需求 辞去原来的工作准备跳槽大厂 在辞职之前也认为有做过一段时间的准备 2021年8月初 我满怀信心去字节跳动面试Java研发岗位 结果当场被字节面试官吊打 莫不
  • echarts后台获取数据,前台实现饼图显示并自定义图形的数据表展示格式

    1 实现效果图 切换前效果 切换后效果 2 关键的js代码 var myChart echarts init document getElementById aaa 为echarts对象加载数据 var opts post getUnitA