如何将小时和分钟数据输入到 ChartJS 中

2024-05-24

我正在尝试使用 Chart.js 制作折线图。我的数据的形式为:

var result = [
  { x: "18:00", y: "230" },
  { x: "19:00", y: "232" },
  { x: "20:00", y: "236" },
  { x: "22:00", y: "228" }
];

其中 x 代表时间,包括小时和分钟。我这样输入数据

var ctx = document.getElementById("myChart").getContext('2d');
    var myChart = new Chart(ctx, {
        type: 'line',
        data: {
            labels: ["00:00","01:00","02:00","03:00","04:00","05:00","06:00","07:00","08:00","09:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","24:00"],
            datasets: [{
                label: 'Voltage Fluctuation',
                data: result,
                borderWidth: 1
            }]
        },
        options: {
            scales: {
                xAxes: [{
                    type: 'time',
                    position: 'bottom',
                    unit: 'minute',
        time: {
          displayFormats: {
            hour: 'HH:mm'
          }
        }
      }],
    },
  }
});
   

我得到了一张空图表。我哪里出错了?我觉得我的标签做错了,因为它们没有出现在图表上,但我不明白怎么做。有什么方法可以用 momentjs 提供数据标签吗?


你不能只通过result数组到data,因为它的格式不正确。data属性需要一个数字数组。所以,你需要解析标签(使用 moment.js)和数据来自result数组,然后再将它们用于图表。

以下是如何从result数组并输入图表:

var result = [{ x: "18:00", y: "230" }, { x: "19:00", y: "232" }, { x: "20:00", y: "236" }, { x: "22:00", y: "228" }];

// parse labels and data
var labels = result.map(e => moment(e.x, 'HH:mm'));
var data = result.map(e => +e.y);

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
   type: 'line',
   data: {
      labels: labels,
      datasets: [{
         label: 'Voltage Fluctuation',
         data: data,
         borderWidth: 1
      }]
   },
   options: {
      scales: {
         xAxes: [{
            type: 'time',
            time: {
               unit: 'hour',
               displayFormats: {
                  hour: 'HH:mm'
               }
            }
         }]
      },
   }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
<canvas id="myChart"></canvas>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将小时和分钟数据输入到 ChartJS 中 的相关文章

随机推荐

  • Firebase Cloud Storage - 使用元数据上传 -

    我希望从浏览器上传带有元数据的文件 以便通过云功能正确识别和处理文件 在客户端上 我的上传器代码如下所示 uploadTaskPromise async function file return new Promise resolve re
  • 什么是 NPM?为什么需要它? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 以前 我用记事本制作了一些网站 所以我们必须创建一个文件夹 TREE 并在其中放入一个 htm 文件 以及一些文件夹 其中包含 Jav
  • Spring - 拦截 bean 创建并注入自定义代理

    我有一个 Controller with Autowired我想用自定义注释来注释的字段和处理程序方法 例如 Controller public class MyController Autowired public MyDao myDao
  • 带有条件小部件的 Flutter Hero 事务容器

    我正在尝试实现一个进展顺利的英雄事务 但是我正在转换的容器有两个变体 小 大 Big Small 正如您所看到的 小版本与大版本相同 但缺少一些元素 需要渲染的版本通过属性设置isSmall 该组件如下所示 class TicPackage
  • 使用 objectGUID 进行查询 - Spring LDAP 模板

    我正在尝试获取 存储并依次使用 objectGUID 来查询 Active Directory 为了获取用户属性我正在使用以下 public static class MyDnKeyValueAttMapper implements Att
  • 用于查找列表/集合中唯一元素的代码

    根据上面阴影部分的面积应该代表 A XOR B XOR C XOR A AND B AND C 如何将其翻译成Python代码 代码必须与上述表达式中提供的集合操作密切相关 至少这是首选 该代码必须足够通用 能够处理 3 个以上的列表 UP
  • 使用 Javascript 跟踪 HTML 元素的显示变化

    假设我有一个给定的 HTML 元素 例如 div div 在该元素内部 可能会发生很多事情 这些事情会改变该元素的某些显示配置 例如其高度或固定位置 我是否可以跟踪与该元素的显示相关的任何更改 当元素更改任何显示变量时是否会触发一般事件 只
  • 上下文不是 ASP.NET 用户控件的成员

    我刚刚在 ASP NET Web 应用程序项目中创建了新的用户控件 创建后 源代码如下所示 但是一旦我向其中添加一些额外的代码 第一行就会立即出现错误 上下文不是 CS SSR RAIO SSR Project 的成员 我确实有其他用户控件
  • 如何与 QEMU 映像共享主机的本地主机?

    想知道这样的事情是否可能 我有一个服务器在监听localhost 1889我的本地 PC 和 QEMU 映像能够使用相同的端口和 IP 访问服务器 localhost 1889 确实正在寻找以下解决方案之一 用于启用此功能的 QEMU 标志
  • 无法在 Mac OS X 上 rdp 到 Azure

    我正在尝试从 Mac OS X 远程桌面到 Azure 实例 但找不到允许我执行此操作的工具 地址和用户名很好 但客户端似乎都没有能力包含实例信息 到目前为止 我已经尝试过 Microsoft RDC 和 CoRD 但没有成功 有人在 Ma
  • 具有日志轮换功能的 JBoss 访问日志

    我试图告诉我的 jboss 编写包含我需要的所有信息的访问日志 并使用每日日志轮换 到目前为止这还不是问题 最终目标是使用logstash转发器将所有访问日志条目发送到elk堆栈 也没什么大不了的 我现在遇到的问题是定义访问日志名称 JBo
  • HTML/CSS - 使用图像作为输入类型=文件

    如何使用此图像 http h899310 devhost se proxy newProxy uplfile png http h899310 devhost se proxy newProxy uplfile png 而不是常规的
  • 如何从 Java 中的 Native Android Activity 打开 React Native 应用程序的特定组件?

    Alert 这个问题基本上是关于一种方法 所以不会有任何可用的笔或代码可以共享 I was doing a POC where integrating an RN app into an Android App I did successf
  • Gmail 搜索怎么这么快?

    搜索这么多字符的最有效方法是什么 你怎么认为 假设网站是用 PHP 和 MySQL 构建的 我应该学习什么才能尽可能有效地构建它 有什么我应该学习的算法吗 文本索引算法 https stackoverflow com questions 4
  • 与随机数生成算法相关的种子是什么?为什么经常使用计算机时间来创建该种子?

    我读到了seeds用于初始化随机数生成器 但似乎种子的随机性对于从生成器获得良好的随机性并不重要 所以我想了解什么是seed实际上 为什么这么称呼呢 最后为什么time在计算机系统中是用来生成这样的种子的 伪随机数生成器生成数字序列 它不是
  • Scala+Slick 3:将一个查询的结果插入到另一张表中

    这个问题是关于 slick 3 0 或 3 1 的 我对此很灵活 我有一个中间查询 我用它来处理map for等等以获得我想要的结果 最后我有一个 val foo DBIOAction Seq MySchema Bar NoStream E
  • 相对于时间求平均值

    我有以下带有日期时间和相应值的数据集 时间间隔为每10分钟一次 我需要以 15 分钟的间隔生成新行 例如 15 40 的值为 599 15 50 的值为 594 因此需要在两者之间生成一个新行 即 15 45 的平均值为 599 和 594
  • Polygot 包含 nasm/yasm 和 C 的文件

    我有一堆幻数 我想将它们包含在由 nasm 或 yasm 编译的 C 程序和汇编文件中 在纯 C 语言中 该文件看起来像是一系列定义 例如 define BLESS 55378008 define ANSWER 42 在 nasm 或 ya
  • 在运行时在 FloatingActionButton 上设置layout_anchor

    我正在尝试为固定到我的 AppBarLayout 的 android support design widget FloatingActionButton 制作动画 我可以在布局 xml 中对其进行很好的设置 并且它显示得很好 但是 我正在
  • 如何将小时和分钟数据输入到 ChartJS 中

    我正在尝试使用 Chart js 制作折线图 我的数据的形式为 var result x 18 00 y 230 x 19 00 y 232 x 20 00 y 236 x 22 00 y 228 其中 x 代表时间 包括小时和分钟 我这样