2010-03-24 4 views
4

레이블 함수를 사용하여 세로 축의 서식을 지정하는 세로 막 대형 차트가 있습니다. 버튼을 추가하고 버튼을 클릭 할 때 축 (또는 차트)을 다시 그리기를 원합니다. 현재 차트 축은 처음에 뷰 상태에 추가 될 때만 OK로 렌더링됩니다.런타임 동안 플렉스 차트를 다시 그리는 방법

차트를 처음 생성 한 후에 다양한 속성을 설정하는 함수가 있습니다. 거기에서 나는 모든 시도했다 :

myChart.verticalAxis.dataChanged();
myChart.validateNow();
myChart.validateDisplayList();
myChart.validateProperties();
myChart.invalidateDisplayList();
myChart.invalidateProperties();

그러나 그들은 축 서식을 변경하지 마십시오. 어떻게해야합니까?

축에 대한 MXML 코드 :

< mx:LinearAxis id="verticalAxis" labelFunction="vAxisFormat"/>

라벨 함수이다 :

private function vAxisFormat(labelValue:Number, previousValue:Object, axis:IAxis):String { 
     axis.getLabelEstimate(); 
     if (_scale == 1){ 
      return currencyFormatter.format(labelValue/_scale); 
     }else { 
      return numberFormatter.format(labelValue/_scale); 
     } 
    } 
+0

은 정상적으로 작동합니다. – manjs

답변

0

데이터 공급자를 업데이트 시도. 그러면 그래프가 다시 그려 지므로 모든 구성 요소가 다시 그려집니다.

예 :

ArrayCollection에 arr.refresh(); 해당 버튼을 클릭에 "verticalAxis.labelFunction = vAxisFormat"를 재 할당하는 경우

XML char.dataprovider = XMLDATA

regars

관련 문제