아무도 도와 줄 수 있습니까? 내 데이터는 두 개의 드롭 다운 목록에서 선택한 값으로 필터링됩니다. 그런 다음 동일한 값에 대해 하루 평균 값을 얻기 위해 중첩/겹쳐서 표시됩니다. 아래의 코드에서 "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);
[라인 접근 코드] (https://github.com/mbostock/d3/wiki/SVG-Shapes#wiki-line_x)에 문제가있는 것 같습니다. 'line' 변수를 초기화하는 방법을 포함하도록 코드를 업데이트 할 수 있습니까? –
전체 요점 : https://gist.github.com/Majella/202df0a4a5a3ad20fb92 – Newbie