[英]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.