echarts中横坐标显示为time,使用手册

2023-11-06

需求:

  • 后端传递(两段数据,不同时间间隔)的24h实时数据,前端需要根据24小时时间展示,要求:x轴为0-24h,每个两小时一个刻度

  • 误区:

    1. 刚开始通过二维数据的形式秒点(data:[[x, y],[x, y]]), 因为是两组数据的横纵坐标不一样,所有没法固定x轴;
    2. 采用组1和组2的x轴数据合并,设置间隔展示, 不同组x轴没有的数据就置null;
    3. 最后数据是展示出来了,但是x轴数据不符合设计的要求,,(陷入困局)
  • 解决办法:

    echarts中x轴type为时间轴, (看官网的时候有点印象,没用过。。。。在同事的帮忙下get到了)
    在这里插入图片描述

    1. series.data中x轴的选取 (本文使用的是字符串形式的,比较方便) (使用了moment.js)
    2. xAxis中设置24h的格式设置,最后一个值貌似默认为00:00, 可以axisLabel中修改, 最大最小值的设置,interval设置;
    3. 上述知道我们要的格式了,接下来处理后端给的数据为我们想要的即可。

代码如下

    initChart() {
	// 后端传递的数据格式1
      const num1 = [
        {
          value: "100",
          time: "12.00.00",
        },
        {
          value: "200",
          time: "13.00.00",
        },
        {
          value: "300",
          time: "14.00.00",
        },
      ];

	// 后端传递的数据格式2
      const num2 = {
        "0.0": 22,
        12.34: 45,
        "16.23.34": 235,
      };

	// 格式1处理
      let aa = num1.reduce((acc, item, index) => {
        let time =
          this.$moment().format("YYYY-MM-DD") +
          " " +
          item.time.split(".").join(":");
        acc.push([time, item.value]);
        return acc;
      }, []);

   	// 格式2处理
     let bb =  Object.entries(num2).map((item) => {
        item[0] =
          this.$moment().format("YYYY-MM-DD") +
          ` ` +
          item[0].split(".").join(":");
        return item;
      });


      this.myChart = this.$echarts.init(this.$refs.chart); // echarts容器实例化

      let min = `${this.$moment().format("YYYY-MM-DD")} 00:00:00`;
      let max = `${this.$moment().add(1, "day").format("YYYY-MM-DD")} 00:00:00`;

      let initOption = {
        xAxis: {
          type: "time",
          min,
          max,
          splitNumber: 10,
          axisLabel: {
            //  坐标轴显示最大最小值
            show: true,
            showMaxLabel: true,
            showMinLabel: true,
            formatter: (val, index) => {
              if (index == 13) {
                return "24";
              } else {
                return "{HH}";
              }
            },
          },
        },
        yAxis: {
          type: "value",
        },
        series: [
          {
            type: "line",
            data: aa
          },
          {
            type: "line",
            data: bb
          },
        ],
      };

      this.myChart.setOption(initOption);
    },
  },
};

在这里插入图片描述

以上仅供参考!

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

echarts中横坐标显示为time,使用手册 的相关文章

  • 如何向上转型以限制对象属性

    在 JavaScript 中 如何从子类向上转换到超类以自动删除超类中不存在的对象属性 示例 假设有以下 2 个类 class ClassA constructor public a string public b string class
  • 带换行符的 React/Momentjs 日期格式

    我有一个日期字符串 我想对其进行格式化 其中数字位于月份下 Jul 6 我尝试了几种不同的方法来添加新行
  • 如何使用 HTML 5 实现类似 gmail 的文件上传/附件

    我记得一些支持 Ajax 之类的选项 无回发世界 文件上传 隐藏的 iframe 使用 flash 对象 尽管我仍然好奇为什么使用 SWF 以及它提供什么优势 然而 通过查看博客 HTML 5 似乎很有前途 我尝试了一些小示例 它确实有效
  • Angular 4 过滤器搜索自定义管道

    所以我试图构建一个自定义管道来在 ngFor 循环中执行多个值的搜索过滤器 我花了几个小时寻找一个好的工作示例 其中大多数都是基于以前的版本 并且似乎不起作用 所以我正在构建管道并使用控制台为我提供值 但是 我似乎无法显示输入文本 以下是我
  • 在 jQuery .live() 方法中模拟“焦点”和“模糊”

    Update 从 jQuery 1 4 开始 live 现在支持focusin and focusout events jQuery http www jquery com currently1 doesn t support blur o
  • 在 R 传单中添加不透明度滑块

    如何在 R leaflet 应用程序中添加滑块来控制特定图层的不透明度 对于这个应用程序 我不想使用闪亮 这里建议 在 R 传单应用程序中添加滑块 https stackoverflow com questions 37682619 add
  • 如何在不阻止触摸启动的情况下防止“过度滚动历史导航”?

    我正在实现基于滑动的导航 但我在使用 Chrome 时遇到了麻烦 当页面向右拖动时 会触发新实现的功能 过度滚动历史导航 从而导致跳回 到 历史 1 为了防止这种情况 我必须打电话 preventDefault on touchstart
  • 检测 Google 验证码的挑战窗口何时关闭

    我正在使用谷歌隐形验证码 有没有办法检测挑战窗口何时关闭 我所说的挑战窗口是指您必须选择一些图像进行验证的窗口 目前 我在按钮上放置了一个旋转器 一旦单击按钮 就会呈现验证码挑战 无法向用户提示另一个质询窗口 我以编程方式调用渲染函数 gr
  • React JS 服务器端问题 - 找不到窗口

    你好 我正在尝试在我的reactJS项目中使用react rte 我有服务器端渲染 每次我想使用这个包时 我都会得到 return msie 6 9 b test window navigator userAgent toLowerCase
  • JavaScript 将键添加到数组中的每个值

    我下面有这个数组 它由一个简单的数组组成 我想要完成的是放一把钥匙id在每个数组值前面以实现类似的效果 id a id b id c id d 有没有一种简单的方法可以做到这一点 任何帮助将不胜感激 谢谢 var test a b c d
  • 如何在 React Native 上显示 SVG 文件?

    我想显示 svg 文件 我有一堆 svg 图像 但我找不到显示的方式 我尝试使用Image and Use的组成部分反应本机 svg https github com magicismight react native svg但他们不这样做
  • 将 Firebase FCM 添加到 ReactJS 应用程序

    我正在尝试向我的 ReactJS 应用程序中的用户发送推送通知 我已添加 firebase 请求用户通知权限 这正在发挥作用 但现在我想注册设备令牌 但这给了我错误 消息传递 我们无法注册默认的 Service Worker 无法注册 Se
  • 全局传递 xhr onload 函数的值

    在我正在创建的应用程序中 我有以下 XMLHttpRequest 并且我正在尝试传递结果data在 的里面xhr onload 到在同一父函数中创建的数组中 var url http api soundcloud com resolve j
  • 如何在 Web 服务器上设置 gzip 压缩?

    我有一个嵌入式网络服务器 总共有 2 兆空间 通常 您使用 gzip 文件对客户端有利 但这会节省我们在服务器上的空间 我读到你可以只 gzip js 文件并将其保存在服务器上 我在 IIS 上测试过 但没有任何运气 为了使这项工作成功 我
  • 如何使用新的analytics.js跟踪多个帐户?

    我需要使用 Google 的新的analytics js 跟踪一个页面上两个帐户的综合浏览量 有大量教程和示例如何使用较旧的 ga js 进行操作 但我发现的只是这个分析文档页面 https developers google com an
  • 呃!尝试将包发布到 npm 时出现 403

    我正在尝试将包发布到 npm 您可以在此处查看存储库 https github com biowaffeln mdx state https github com biowaffeln mdx state 我登录到 npmnpm login
  • 语法错误:意外的标记“?”在 repl.it 上用 JavaScript 制作不和谐机器人时 [重复]

    这个问题在这里已经有答案了 我收到错误 const token this client token this client accessToken SyntaxError Unexpected token Discord 机器人代码 con
  • 尝试使用 Javascript 解决对称差异

    我正在尝试找出对称的解决方案 使用 javascript 完成以下任务的差异 目标 接受未指定数量的数组作为参数 保留数组中数字的原始顺序 不删除单个数组中数字的重复项 删除数组中出现的重复项 因此 例如 如果输入是 1 1 2 6 2 3
  • 使用 ref 触发反应 dropzone 不起作用

    我正在实现这个库 https github com felixrieseberg React Dropzone Component https github com felixrieseberg React Dropzone Compone
  • MongoDB:javascript执行失败:无法在 src/mongo/shell/collection.js 保存 DBQuery 对象

    在 MongoDb 中 当我尝试修改集合中的现有文档时 它会生成以下异常 javascript execution failed can t save a DBQuery object at src mongo shell collecti

随机推荐

  • matlab内置随机数生成器及随机模拟举例

    一 matlab内置的密度函数于随机数生成器 离散均匀分布 离散均匀分布用于描述等概率发生事件的状况 仅限于有限的事件数 matlab提供 1 2 N 上的均匀分布的概率密度函数黑累计分布函数 其相应的命令为 unidpdf X N 给出X
  • Waiting for table metadata lock究极解决办法(绝对管用)

    简单描述一下遇到的问题 根据项目数据入库要求 在之前没有设置唯一约束的表上添加唯一约束 这就涉及到需要修改表结构 在对其他表进行修改的时候 无论是修改字段长度还是删除索引添加唯一约束都没有问题 但是唯独有一张表 无论进行什么表操作全部都会出
  • 响应式函数编程

    http blog csdn net lzyzsd article details 41833541 comments
  • 如何判断dpr的倍数

    1 js中有window devicePixelRatio可直接查看倍率 2 用css技术判断dpr的倍数 响应式设计 媒介查询 通过设置断点来实现响应 max device pixel ratio 最大设备dpr max resoluti
  • react的ref三种使用方式,获取元素内容

    react的ref三种使用方式 获取元素内容 注意 应尽可能少的使用ref 优先使用state 1 字符串 refGetData1 gt alert 获取到的内容 this refs div1 innerText div 点我是ref字符串
  • 运放的虚短与虚断

    虚断 理想情况下 运放的同向反向输入端等效电阻无穷大 而实际情况下 输入电阻Ri也达到兆欧 M 级别 例如OP07 7 31M 因此 输入端电流很小 微安级别 uA 可以将同相输入端与反相输入端的电流近似为0 输入阻抗无穷大 电流近似为零
  • QT 使用qcustomplot 图库 总结

    qcutomplot是一个写好的图标库 下面讲几点注意事项 使用步骤一 导入qcustomplot h cpp文件后 要在 pro 文件中加入 QT printsupport 使用步骤二 添加一个widget 打开ui 在widget右键点
  • java 延迟执行代码(定时作用)

    延时执行 间隔某段时间之后 再去执行某段代码 实现这种结果有两种方式 1 使用Sleep方法 就是去新建一个线程 然后里边放一个Thread sleep 方法 这也是比较通俗的做法 new Thread public void run tr
  • 手把手教你配置CUDA, cuDNN-十分钟配置本地CUDA, cuDNN

    前文书说到 类似tensorflow和pytorch这种框架有一个很大的优点就是提供了对GPU的支持 那么 如果我们的电脑上正好有一块十分强劲的显卡 就请跟着下面的教程配置本地的CUDA cuDNN环境 这样就可以让我们使用GPU版本的te
  • NFS高可用方案:NFS+keepalived+Sersync

    1 背景 因为某系统需要部署生产 但是云平台的nas存储资源不足需要重新采购 采购周期较长 需要有一个临时的解决方案 这样时候就需要采用nfs服务来提供网络存储服务了 在部署nfs服务的时候需要考虑生产环境需要有一定的高可用性 经过考虑之后
  • el-date-picker组件设定指定时间起一个月的限制(PS:日常笔记)

  • eclipse运行项目时用内置浏览器能打开项目,但是在外置浏览器输入地址无法访问

    解决方案 window gt perferences gt General gt Web Browser gt use external web browser
  • 【管理篇 / 配置】❀ 02. 常用设置 ❀ FortiGate 防火墙

    简介 这个实验提供FortiGate飞塔防火墙命令及图形管理入门 此外 这个实验将指导你怎样正确的备份和恢复一个配置文件 建立一个新的管理员帐号和改变管理员访问权限 工作在命令行界面 你可以使用命令行界面 CLI 访问一台FortiGate
  • 评分卡建模工具scorecardpy全解读

    说到评分卡建模工具 做过评分卡的应该都能想到谢博士的scorecardpy和专为工业界模型开发设计的Python工具包 Toad 两者相比 scorecardpy更加轻量级 且依赖较少 可以满足大多数场景下的评分卡构建 为了使评分卡建模流程
  • MarkDown编辑器字体颜色设置

    文章目录 一 颜色 二 大小 三 字体 四 背景色 五 文章转载 CSDN的markdown编辑器是其衍生版本 扩展了Markdown的功能 如表格 脚注 内嵌HTML等等 就是内嵌HTML 接下来要讲的功能就需要使用内嵌HTML的方法来实
  • 2019你会被裁员吗?

    2018年 我的经历 整个互联网行业都在裁员1 3 我也是亲历者 我想弄清楚为什么 所谓的行业凛冬 具体是什么 是真的来了 或是老板们在忽悠我们 找到原因 我希望反思 2019年可以不会被裁员 现在 我有了答案 和你分享 烧脑准备哈 开始
  • centos7 磁盘刷新容量

    1 添加一块新的硬盘sdb 40G lsblk mkdir test mkfs ext4 dev sdb blkid grep sdb echo blkid grep sdb gt gt etc fstab vim etc fstab UU
  • Qt 样式表、绘图事件设置渐变色

    先放效果图 这里的窗体颜色 字体 pushbutton背景都是渐变色 渐变色的颜色可以在 链接 获取 对应网址 https webgradients com 现在来说具体操作步骤 关于这个窗体的背景颜色 这里是直接重写了绘图事件 注意这里的
  • Spring、Springboot入门之事务处理

    1 什么是事物 通俗讲事物就是一组原子操作单元 组内的操作要么全部执行成功 要么全部失败 事务有四个特性 ACID 1 原子性 Atomicity 事务是一个原子操作 由一系列动作组成 事务的原子性确保动作要么全部完成 要么完全不起作用 2
  • echarts中横坐标显示为time,使用手册

    需求 后端传递 两段数据 不同时间间隔 的24h实时数据 前端需要根据24小时时间展示 要求 x轴为0 24h 每个两小时一个刻度 误区 刚开始通过二维数据的形式秒点 data x y x y 因为是两组数据的横纵坐标不一样 所有没法固定x