Chartjs无法与来自csv源的d3一起使用

bfhwhh0e  于 2022-11-07  发布在  Chart.js
关注(0)|答案(1)|浏览(152)

我试图从我的树莓派中加载一个由两列组成的csv文件--时间和温度--并用chartjs制作一个图表。在一些教程中我发现我可以用d3来做这件事,但似乎我做的承诺有问题。
第一个
示例数据(假定为temp.csv):

21:34:03,17.25
21:35:04,17.18
21:36:03,17.18
21:37:03,17.18
21:38:03,17.18
21:39:03,17.18
21:40:03,17.18
21:41:03,17.12
21:42:03,17.18
21:43:03,17.12
21:44:03,17.12
21:46:03,17.12
21:47:02,17.12
21:48:03,17.12
21:49:02,17.12
21:50:03,17.06
21:51:03,17.06
21:52:03,17.06
21:53:03,17.06
21:54:03,17.06
21:55:04,17.06
21:56:03,17.06
21:57:02,17.06
21:58:03,17.06
22:00:04,17.00
22:01:02,17.00

我不知道还有什么要添加的,但我发现的唯一的变通办法是完全摆脱d3,尽管我想了解如何在这个例子中使用它的承诺。

gmxoilav

gmxoilav1#

您的承诺是正确的(即d3.text("temp.csv").then(makeChart);),但您在makeChart中的逻辑有几个问题:
1.删除添加的头中,y之间的空格-否则将创建类似" y"的对象键,而不仅仅是y
1.需要将y值转换为浮点型,因为csvParse默认将值转换为文本,而不使用转换函数

  1. datos.xdatos.y不引用任何内容,因为datos没有特定的xy键-它是一个对象数组,每个对象都有xy键。
    工作示例如下:
    第一个

相关问题