我有下面的代码来显示图表
d3.json("dat.csv", function(error, data) {
Data.forEach(function(d) {
d.Data = parseDate(d.Data);
d.Free = +d.Free;
});
这是从所有主机中选择数据,我想限制它选择数据。字段将包含所有主机名。怎么把数据查出来?请帮忙
我有下面的代码来显示图表
d3.json("dat.csv", function(error, data) {
Data.forEach(function(d) {
d.Data = parseDate(d.Data);
d.Free = +d.Free;
});
这是从所有主机中选择数据,我想限制它选择数据。字段将包含所有主机名。怎么把数据查出来?请帮忙
您可以在收到 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 的 filter 函数将数据传递给 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");