簡體   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