2012-02-13 3 views
1

플렉스 차트의 데이터 팁은 문서화가 잘되어 있지 않으며 거의 ​​이해되지 않은 기능입니다.Flex 차트에서 DataTips는 어떻게 작동합니까?

세 부분이 있습니다 시리즈를 통해 기본 황소 눈 원 '포인트, 기본적으로

  • DataTipTarget 내부 텍스트 상자

    • 힌트로
    • 설명 선은 dataTipTarget에서 DataTip 상자까지의 행

    어떻게이 세 가지 요소가 작성/그려지 는가, 어떻게 사용자 정의 할 수 있습니까?


    제대로 DataTipTargets와 콜 아웃 라인의 렌더링을 사용자 정의하는 방법도 my answer 참조하십시오.

  • +1

    답변을 주시면 좋은 게시물이됩니다. – Ryan

    +0

    감사합니다. Brian – prismaticorb

    답변

    4

    ChartBase 클래스의 dataTipRenderer 스타일의 기본값은 DataTip입니다.

    DataTipIDataRenderer이므로 렌더러 역할을 할 수 있습니다. 그러나 방법 DataTip.updateDisplayList(w,h)은 데이터 포인트에 원을 그리지 않습니다. 그것은 HTML 가능 텍스트가있는 사각형을 그립니다.

    그러면 도대체 어떻게 황소 - 눈을 그립니다?


    나는 아주 깊은 파기를하고 답을 찾았습니다. 나는 그들을 다른 사람들을 위해 여기에서 문서화 할 것이다.

    내 SDK 버전은 4.1.0입니다.

    기본값은 호버시 원 데이터 포인트를 표시하기위한 코드는 우리가 생각 같은 렌더러 아니라, 사실은 mx.charts.chartClasses.ChartBase 클래스, 라인 3873에서 함수 :

    /** 
    * Defines the locations of DataTip objects on the chart. 
    * This method ensures that DataTip objects do not overlap each other 
    * (if multiple DataTip objects are visible) or overlap their target data items. 
    * 
    * @langversion 3.0 
    * @playerversion Flash 9 
    * @playerversion AIR 1.1 
    * @productversion Flex 3 
    */ 
    protected function positionDataTips():void 
    

    있다 유사한 기능 positionAllDataTips()이 같은 클래스에 있습니다.

    ChartBase, showDataTipTargets에 간단한 부울 스타일이 있는데, false로 설정하면 커서를 올려 놓을 때 줄의 원 그리기가 비활성화됩니다.

    (4204에서 시작) 함수 내에서 데이터 팁 대상이 렌더링됩니다.

    showDataTipTargets이 관련되었다고 알았다면 answer another question을 사용할 수있었습니다. 여기에서 사용자 정의 방법에 대한 자세한 설명을 볼 수 있습니다. DataTipTarget

    ChartBase 부울 속성 showDataTips은 데이터 상자 BOXES의 렌더링 만 토글합니다. 스타일은 dataTipRenderer 스타일을 사용하여 렌더링되고 데이터 상자의 텍스트는 속성 dataTipFunction을 사용하여 만들어집니다.


    차트에 대한 힌트는 다음과 같이 이해 될 수있다, 요약하면 :

    • ChartBase.getStyle("showDataTipTargets"):Boolean는 점 유혹에 렌더링되는 기본 원의 가시성을 전환됩니다. 실제로 힌트 대상의 렌더링, 당신은 힌트 상자가
      • ChartBase.showDataTips:Boolean 별도로 처리됩니다
    • ChartBase.positionDataTips() 기능 그려하는 방법을 수정/오버라이드 (override) 할 필요를 변경하기 위해
      • 단지 힌트 상자의 그래픽 렌더링을 처리 할 전체 차트
      • ChartBase.getStyle("dataTipRenderer"):Class에 대한 힌트와 DataTipTargets의 가시성을 전환됩니다.
      • dataTipRenderer는 데이터를 표시 할 ChartBase.dataTipFunction:Function에 의해 반환 된 문자열을 사용합니다. 따라야
      • 협약이다
        • 맞춤 dataTipRenderer는 힌트
        • 맞춤 dataTipFunction는 특정 시점에 대한 데이터의 본문의 포맷을 처리해야의 그래픽/드로잉 처리해야
    • 힌트 상자에 DataTipTarget에서 그려진 옵션으로 제공되는 라인 인 콜 아웃 라인은 활성화 및 ChartBase.getStyle(“dataTipCalloutStroke”):IStroke를 설정하여 사용자 정의 할 수 있습니다.
    관련 문제