【问题标题】:Making a variable from a csv file从 csv 文件创建变量
【发布时间】:2013-09-01 23:58:44
【问题描述】:

我已经弄清楚发生了什么,但不知道如何解决它,或者即使它是最好的方法(不太可能)。

我已经制作了一个从 csv 文件读取的图表,这部分工作得很好。但是,因为我不想在完成后触摸代码。这就是为什么我追求从 csv 文件中获取数据并将其转换为变量的最佳/最简单方法。

所有代码都在here。我正在和 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 中创建一个变量。如果有人可以帮助我,我将不胜感激。

Before asking question about the code please have a look at it.


更新


我环顾四周,发现this... 我试图让它为我工作,但我并不真正理解这段代码。

这就是我得到的

var rawTarget = ["d.Target"];
var targetNum = rawTarget.slice(2,3,4,5);

它的行为就像根本看不到数组一样。

正如我所说,我想要的只是用作变量的第一个数字(因为只有 1 个数字)。如果我能让它工作,它将取代 my graph 中的 maxData。

【问题讨论】:

    标签: javascript csv d3.js


    【解决方案1】:

    我在理解您的问题时遇到了一些问题;如果您希望 varNum 引用您正在绘制的矩形的数量,则此代码将起作用:

    var varNum = data.length;
    ...
      .attr("width", function(d){return d.data * (graphWidth / varNum)});
    

    【讨论】:

    • 好的,让我进一步分解。图表的数据从 csv 文件中读取,图表显示完美。我想要 varNum 作为变量的原因是,这个图是可扩展的。好的数学时间。如果图表width = 800pxvarNum = 2。您只需要数据 to = 2 就可以结束(矩形800px long)。但是,如果varNum = 4,数据只会得到一半(一个矩形400px long)。这是否让我更容易理解我在做什么
    • 我只需要知道如何将 d.varNum 变成一个变量。由于 varNum 中的数据来自同一个 csv 文件。
    猜你喜欢
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    相关资源
    最近更新 更多