2015-01-05 2 views
0

angularjs-nvd3-directives를 사용하고 있습니다.바 색상이 원래 색상으로 되 돌아갑니다

값에 따라 개별 막대를 색칠 할 필요가 있습니다. bar를 선택하고 렌더링 한 후에 색상을 지정하는 콜백을 사용하여 angularjs-nvd3-directives를 사용하여이 작업을 수행 할 수 있습니다.

<nvd3-multi-bar-chart 
       data="vm.chartData" 
       id="chartOne" 
       width="400" 
       height="550" 
       showXAxis="true" 
       showYAxis="true" 
       noData="Charts not available" 
       delay="2400" 
       yAxisTickFormat="vm.yAxisTickFormatFunction()" 
       forcey="[0,9]" 
       callback="vm.colorFunction()" 
       objectequality="true"> 
      <svg></svg> 
     </nvd3-multi-bar-chart> 

콜백 함수 내 선택은 다음과 같습니다

d3.selectAll("rect.nv-bar") 
.style("fill", function(d, i){ 
    return d.y > 50 ? "red":"blue"; 
}); 

전반적으로, AngularJS와-nvd3-지시를 사용하는 것은 좋은 왔으며 나에게 그들이 한 후 차트를 사용자 정의 할 수 그러나 선택기를 사용하여 시간을 저장했다 렌더링은 많은 작업 (색상 막대, 색상 x/y 축 등 ...)처럼 보입니다.

창의 크기가 조정되면 원래의 파란색 색으로 되돌아가는 문제가 있습니다. 막대에 내 업데이트를 보존 할 수있는 방법이 있습니까? window.onresize에 대한 자체 이벤트를 작성해야합니까 (시도해도 작동하지 않는 것인가)?

답변

0

필자가 원하지 않는만큼 내 차트에 대한 내 자신의 지시문을 작성 했으므로 이제는 angularjs-nvd3 명령의 명령을 취소하기 위해 많은 양의 코드를 작성하지 않고도 차트를 완벽하게 제어 할 수 있습니다. 콜백.

관련 문제