我试图从我的树莓派中加载一个由两列组成的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,尽管我想了解如何在这个例子中使用它的承诺。
1条答案
按热度按时间gmxoilav1#
您的承诺是正确的(即
d3.text("temp.csv").then(makeChart);
),但您在makeChart
中的逻辑有几个问题:1.删除添加的头中
,
和y
之间的空格-否则将创建类似" y"
的对象键,而不仅仅是y
1.需要将
y
值转换为浮点型,因为csvParse
默认将值转换为文本,而不使用转换函数datos.x
和datos.y
不引用任何内容,因为datos
没有特定的x
和y
键-它是一个对象数组,每个对象都有x
和y
键。工作示例如下:
第一个