当前位置: 首页 > news >正文

折线图多数据处理

前言:

skline1有年份和新申请单位数,skline2有年份和有效期内单位数,我想要把1和2的年份放在一起从小到大放,没有重复的,新申请单位数和有效期内单位数和年份的排列顺序一致

实现:

// 获取原始数据
List<Map<String, Object>> skLine1 = bmzgConfidentQualifyManageService.getSkLine1();
List<Map<String, Object>> skLine2 = bmzgConfidentQualifyManageService.getSkLine2();// 转换为年份->数据的Map便于查询
Map<String, String> yearToCount1 = skLine1.stream().collect(Collectors.toMap(map -> map.get("年份").toString(),map -> map.get("新申请单位数").toString()));Map<String, String> yearToCount2 = skLine2.stream().collect(Collectors.toMap(map -> map.get("年份").toString(),map -> map.get("有效期内单位数").toString()));// 合并年份并排序
Set<String> mergedYears = Stream.concat(skLine1.stream().map(map -> map.get("年份").toString()),skLine2.stream().map(map -> map.get("年份").toString())).collect(Collectors.toCollection(TreeSet::new)); // 自动排序去重// 构建最终结果
List<String> sortedYears = new ArrayList<>(mergedYears);
List<String> newApplications = new ArrayList<>();
List<String> validUnits = new ArrayList<>();for (String year : sortedYears) {newApplications.add(yearToCount1.getOrDefault(year, "0")); // 没有数据默认为0validUnits.add(yearToCount2.getOrDefault(year, "0"));
}// 最终合并结果
Map<String, Object> result = new HashMap<>();
result.put("xData", sortedYears);      // 排序后的年份列表
result.put("yData1", newApplications); // 对应年份的新申请单位数
result.put("yData2", validUnits);      // 对应年份的有效期内单位数

图片:

http://www.lqws.cn/news/597781.html

相关文章:

  • 基于Halcon平台的常规OCR与深度OCR性能对比分析
  • 前端技术栈 —— HTML、CSS和JavaScirpt执行环境
  • 热血三国野地名将列表
  • 如何hack边缘的kubelet修改Cgroup数值
  • 事务隔离级别深度解析:机制、语法与实战指
  • Jenkins生态与拓展:构建现代化DevOps工具链的终极指南
  • android apk签名
  • Django打造智能Web机器人控制平台
  • mac部署dify
  • 每日一练:找到初始输入字符串 I
  • 第三方软件测试服务包含哪些类别?功能、性能、安全性测试全解析
  • Vue Vue-route (2)
  • ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模
  • 定时器的设计
  • 关于小波降噪、小波增强、小波去雾的原理区分
  • 1、lombok注解不生效
  • RIP 技术深度解析
  • Linux CentOS环境下Java连接MySQL数据库指南
  • 口重启Spring Boot项目中,通过接口实现应用重启是运维场景中的常见需求。以下是三种主流实现方案及其详细步骤和注意事项:
  • 图像处理专业书籍以及网络资源总结
  • 讯飞大模型实时语音识别
  • Kubernetes 之Ingress 从基础到实战全解析
  • Async和Await关键字
  • 电力交易的实现路径
  • CppCon 2018 学习:A New Take on Polymorphism
  • (JAVA)自建应用调用企业微信API接口,实现消息推送
  • 【网工|知识升华版|理论】ARQ机制|CSMA/CD协议
  • Rust征服字节跳动:高并发服务器实战
  • 记一次使用sa-token导致的预检请求跨域问题
  • 前端常用构建工具介绍及对比