我已经弄清楚发生了什么,但没有弄清楚如何解决它,或者即使它是最好的方法(不太可能)。
我制作了一个从 csv 文件读取的图表,这部分工作得很好。但是,因为我不想在完成后触摸代码。这就是为什么我追求从 csv 文件中获取数据并将其转换为变量的最佳/最简单方法的原因。
所有的代码都在这里。我正在与 Scott Cameron 讨论这个问题,并发现了我遇到的问题。
愚蠢地我把这段代码放在认为它会工作的地方。(d.avrNum 是我想变成一个变量。)
dataEnter.append("rect")
.attr("fill",function(d,i){return color(i);})
.attr("y", function(d, i){return i * horizontalBarDistance - barYOffset;})
.attr("x", barXOffset)
.attr("height", function(d){return barWidth;})
.attr("width", function(d){return d.data * (graphWidth / d.varNum)});
最后一行是我需要变量号。我计算出,像 d.data 一样,d.varNum 将读取下一个数字。但是 d.varNum 中只有 1 个数字,所以这不起作用。
因为我想继续使用 1 数字,所以我需要从 d.varNum 中创建一个变量。如果有人可以帮助我,我将不胜感激。
更新
我做了更多的环顾四周,发现了这一点。..我试图让它为我工作,但我并不真正理解这段代码。
这就是我得到的
var rawTarget = ["d.Target"];
var targetNum = rawTarget.slice(2,3,4,5);
它的行为就像根本看不到数组一样。
正如我所说,我想要的只是第一个数字(因为只有一个数字)用作变量。如果我能让它工作,它将在我的图表中取代 maxData 。