2016-09-16 2 views
0

이것은 정말 쉬운 것이어야하지만 막혔습니다.선택 입력이있는 선형 차트를 d3.js가있는 막 대형 차트로 변환

선택 입력 (플롯 할 다른 데이터 선택)을 사용하여 선형 차트를 막대 차트로 변환하려고합니다.

나는 항상 정적 데이터를 사용하여이 작업을 수행 할 수 있었지만,이 경우에는 막혔습니다.

선으로 작동하는 조각은 이것이다 :

svg.append("path") 
    .datum(dataFiltered[0].values) 
    .attr("class", "line") 
    .attr("width", 0) 
    .attr("d", valueline); 

나는 이런 식으로 뭔가를 적용하려고 : 그것은 작동하지 않습니다

svg.append("rect") 
    .attr("class", "bar") 
    .attr("x", function(d) { return x(d.mes); }) 
    .attr("width", x.range()) 
    .attr("y", function(d) { return y(d.jornalistas); }) 
    .attr("height", function(d) { return height - y(d.jornalistas); }); 

. (JSBin의 코드에서이 스 니펫을 가져 왔습니다)

누군가 나를 친절하게 도와 줄 수 있습니까?

Here is the code in JSBin

답변

0

당신은 당신이하지 않은으로

d3.select('.line').datum(dataFiltered[0].values).attr('d', valueline)

d3.select('.line').datum(dataFiltered[0].values).attr('d', line)

에서 마지막 행의 끝에서 사용하고있는 기능을 변경해야 어디서나 line 함수를 정의했습니다!

+0

실제로 사실이지만 값을 선택하고 자동으로 눈금을 변경하는 경우에만 가능하지만 여전히 막대 차트가 아닙니다. –

+0

죄송합니다. 몇 분만 줘! – danimal

+1

barchart에 대해 다른 d3 스케일이 필요하다고 생각하고 추가 된 rect에'data(). enter() '를 호출해야합니다. – danimal

관련 문제