D3.js で data().enter().append() を使用した後、データセット内の個々の列/値は、d.valuename
. しかし、線形スケールの CSV 列で最大値を見つけたいです。スケールの前にデータ呼び出しがないため、最大値を見つけるための正しい列を指定する方法が本当にわかりません。
これは私の失敗した試みです。何を代用d.column1
する?
d3.csv("file.csv", function (data) {
var x = d3.scale.linear()
.domain([0, d3.max(d.column1)])
.range([0, 960]);
編集:
わかりました、同様の例を見て、もう少し理解しました。私のコードが今動かない理由がわかりません。
d3.csv("file.csv", function (data) {
data.forEach(function(d) {
d.column1 = +d.column1;
});
var max = d3.max(data, function(d) { return d.column1; });
var x = d3.scale.linear()
.domain([0, max])
.range([0, 960]);
編集#2:
問題がデータ自体に由来する場合は、スニペットを次に示します。すべての引用符を削除しようとしましたが、一番上の行以外のすべての引用符を保持しようとしましたが、何も機能しません。
"product", "price"
"bread",20
"meat",100
"meat, sausage",200
編集#3:
わかりました、約束します、最後の編集です。しかし、完全に明確にするために。棒グラフの棒の幅を決定するために x スケールを使用してい.attr("width", x)
ます。スケールは NaN を返します。