d3.json 応答を受け取った後、データをフィルタリングできます。わかりやすくするために、新しい変数 (host1Data) を作成しました。
d3.json("dat.json", function(error, data) {
var host1Data = data.filter(function(d){
return d.host.name === 'host1';
});
host1Data.forEach(function(d) {
d.Date.Time = parseDate(d.Date.Time);
d.CPU.Free = +d.CPU.Free;
});
// Use host1Data instead of data in the rest of your code
});
または、javascript のフィルター関数を使用して、データを svg に渡すときにデータをフィルター処理することもできます。
var mychart = svg.selectAll(".mychart")
.data(data.filter(function(d){return d.host.name === 'host1'})
.enter().append("g")
.attr("class", "mychart");
または、d3 のフィルター関数を使用します。
var mychart = svg.selectAll(".mychart")
.data(data)
.enter().append("g")
.filter(function(d){return d.host.name === 'host1'}
.attr("class", "mychart");