D3图表未在点击时更新

时间:2018-04-22 05:00:38

标签: d3.js

点击黑色按钮后,我的折线图没有使用新数据进行更新,而且我不确定我可能做错了什么。

阻止在这里:

2 个答案:

答案 0 :(得分:2)

让我们来看看你的NaN错误:

<path class="line" d="M0,324.19471776281716L0,NaNL155,NaNL155,270L310,270L310,353.84774728120146L465,353.84774728120146" transform="translate(78.1818,0)"></path>

似乎我们缺少两个y值,如果我们将路径数据分成x,y对,我们可以看到这个:

M0,324.19471776281716
L0,NaN
L155,NaN
L155,270
L310,270
L310,353.84774728120146
L465,353.84774728120146

因此,我们需要检查两件事,一件是y刻度,另一件是y刻度中使用的数据。 y刻度看起来没问题,如果它在一个数字上失败,它应该在所有数字上失败。我们来看看csv数据:

education,number
Bachelor's degree,2367
Degree in medicine, dentistry, veterinary medicine or optometry,5763
Earned doctorate,3862
Master's degree,1549

这是我们的问题:我们有一个逗号分隔的文件类型,第二行有很多额外的逗号(不包括列标题)。我们可以看到,这导致备用数据中第二列的名称出现问题:“医学学位”,删除了逗号之外的名称部分。让我们用引号来包含数据,这样逗号就不会算作分隔符:

education,number
Bachelor's degree,2367
"Degree in medicine, dentistry, veterinary medicine or optometry",5763
Earned doctorate,3862
Master's degree,1549

答案 1 :(得分:1)

update#body)似乎不存在时,#body函数中的代码正在选择id="body"。您是否有意使用body来选择html正文?