繁体   English   中英

我无法从 csv 文件中获取列最大值。(Javascript D3)

[英]I can't get the column max values from my csv file.(Javascript D3)

所以我正在尝试制作一个从 2 个下拉菜单中获取输入的散点图 plot 图表。 做出选择后,将选择 csv 文件中的 2 列。

但是,最大值因选择而异,因此我需要程序根据用户做出的不同选择进行更改。 所以在负责它的代码片段中,我觉得语法是有意义的。 最终结果是我尝试将结果存储在 2 个单独的变量中并打印到控制台,结果显示为“未定义”,但没有错误。 所以我不确定问题出在哪里。 如果我对任何单一选择的列和轴进行硬编码,那么这些点就没有问题。 但是因为我是动态设置的,所以我猜没有任何值被捕获。 任何帮助表示赞赏。

d3.csv("datafile.csv",function(data){
var xMx = d3.max(data,function(d) { return d.xvalue; } );
var yMx = d3.max(data,function(d) { return d.yvalue; } );
console.log(xMx);[enter image description here][1]
//x-axis
var x = d3.scaleLinear().domain([0,xMx])

版本是:4.13.0 我试过包括 csv 文件。 https://i.stack.imgur.com/kq8Aq.jpg

d3.csv()不会自动将字符串转换为数字。 我建议读取数据,使用d3.csv()row参数正确处理数据,然后才使用d3.max()的访问器找到最大值。

由于您使用的是 D3 4,因此它类似于

d3.csv("datafile.csv", r => {
    // this function returns a new object for each row.
    // the + is common shorthand for parseFloat()

    return {
        xvalue: +r.xvalue,
        yvalue: +r.yvalue
    };
}, data => {
    let xMx = d3.max(data, d => d.xvalue);
    let yMx = d3.max(data, d => d.yvalue);
    console.log(xMx, yMx);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM