我正在研究Scott Murray的Web交互式数据可视化。这本书以d3版本4为中心,而我正尝试使用d3版本5。我是javascript新手,但是在我接触到版本4和5之间的主要区别之前,它一直运行的很好,它使用诺言。
我被困在this example上。通过查看其他示例,例如this one和introduction to promises from the D3 author,我做出了我认为是适当的更改。
我尝试了2种方法。
首先,仅更改上面链接示例中的第36行。
它具有:
d3.csv("time_scale_data.csv", rowConverter, function(data) {
我在哪里:
d3.csv("time_scale_data.csv", rowConverter).then(function(data){...
第二种方法是尝试将所有内容包装在异步函数中,就像我看到的那样,所以开始是
async function makePlot(){
//Load in the data
const dataset = await d3.csv("time_scale_data.csv", rowConverter)
两种方法都得到相同的结果。它为每个数据点呈现了12月31日的svg文本,但12月31日甚至不是一个点,我可以在控制台中看到值,但是没有一个值与我的csv相匹配。
如何让this example兑现承诺?
这很尴尬,但是如果有人在为此苦苦挣扎,我将举个例子。
以上工作。我在csv中有不正确地标记了其中一列的列并进行了更正,但是即使进行了硬刷新,它仍然无法解决问题,我需要硬刷新并删除缓存。我一生的几个小时:(