d3 js 라인 차트에 툴팁을 추가하려고합니다. 대부분의 솔루션은 도구 설명 팝업을 사용하기 위해 계산 된 원을 기반으로 한 것 같습니다. 그러나 그것은 나를 위해 불행하게 일하지 않습니다. 내 선형 차트에는 사용자 정의 보간법 (이동 평균 기능을 기반으로 함)이 있으며 데이터를 사용하여 원형을 그릴 때 차트 전체에서 끝납니다 (이는 예상되는 값이며 값 자체가 아니라 평균입니다).d3.js 툴팁으로 이동 평균 라인 차트 (맞춤 보간)
누군가에게 어떤 지침이 있습니까? 원 (scatterplot-way)은 완벽하게 괜찮지 만 라인과 동일한 이동 평균으로 계산해야합니다. 나는 이동 평균 함수에 대한 좌표를 제공하고 "정상적인"서클 물건을 수행하는 일종의 함수를 생각하고 있습니까? 하지만 그건 내가 이미 가지고있는 것과 중복 기능 ...
갱신 3의 의미 - 나는 아직도 분명히 값만 받고 있어요 때문에 작동하지 않습니다, 나는 지금
// Add event listeners/handlers
svg.on('mouseover', function() {
marker.style('display', 'inherit');
}).on('mouseout', function() {
marker.style('display', 'none');
}).on('mousemove', function() {
var mouse = d3.mouse(this);
marker.attr('cx', mouse[0]);
var datumVar = x.invert(mouse[0]),
index = bisect(dataFilter, datumVar),
startDatum = dataFilter[index - 1],
endDatum = dataFilter[index],
interpolate = d3.interpolateNumber(startDatum.Kvot, endDatum.Kvot),
range = endDatum.datum - startDatum.datum,
valueY = interpolate((datumVar % range)/range);
console.log((valueY));
marker.attr('cy', y(valueY));
});
을 거 같아요 내 값의 엄마를 포함하는 객체를 생성
최종 코드 :
var movingWindowAvg = function (arr, step) { // Window size = step
return arr.map(function (_, idx) {
var wnd = arr.slice(idx, idx + step);
var result = d3.sum(wnd.map(function(d) { return d.Kvot; }))/wnd.length; if (isNaN(result)) { result = _; }
var tmpDate = wnd[0].datum;
return {Kvot: result, datum: tmpDate};
});
};
위의 코드는 마지막/첫 번째 관측 값을 줄 것이다하지만, 그 평균을 N-이동하지 않습니다. 그래서 거의 다 왔어.
바이올린을 만들면 우리는 그것에 대해 뭔가를 할 수 있습니다 ..... –
나는 그것을 절대적으로 할 수 있습니다. 대부분 사람들이 그 기능을 써야하는 것이 아니라 그 일을하기위한 기술이었습니다. 바이올린을 치우기까지 약간의 시간이 필요합니다. 그 동안 나는이 방법이 아마 일해야한다고 생각한다 : [link] (http://zoopoetics.com/blog/?p=499) – ErrantBard