任何人都可以帮忙吗?我的数据正在通过从两个下拉列表中选择的值进行过滤 - 然后嵌套/汇总以获得这些相同值的每天平均值。我收到以下代码的“问题解析 d 错误”。尽管过滤器和嵌套函数都返回了正确的数据 - 当我尝试将此数据应用于折线图以更新它时会出现问题吗?
d3.select("#parameterType").on("change", function()
{
d3.select("#dateTimeTaken").on("change", function()
{
var selectedParameter = document.getElementById("parameterType").value;
var selectedMonth = document.getElementById("dateTimeTaken").value;
//filter data by selected parameter and month
var selectedData = data.filter(function(d) {
return d.parameterType == selectedParameter &&
+d.dateTimeTaken.getMonth() == (selectedMonth - 1);});
console.log(selectedData);//returning correct data
//get average reading for each day within selected month
var newdata = d3.nest()
.key(function(d) {return d3.time.day(d.dateTimeTaken);})
.sortKeys(d3.ascending)
.rollup(function(d)
{
return {
mean: d3.mean(selectedData, function(d) {return +d.reading;})};
})
.entries(selectedData);
console.log(newdata);//returning correct data
//UPDATE GRAPH
//not returning correct max values?
x.domain(d3.extent(newdata, function(d) { return d.key; }));
y.domain([0, d3.max(newdata, function(d) { return d.values; })]);
svg.select("path.line")
.attr( "d", line(newdata));
svg.select(".x.axis")
.transition()
.duration(750)
.ease("linear")
.call(xAxis);
svg.select(".y.axis")
.transition()
.duration(750)
.ease("linear")
.call(yAxis);