ChartBase
클래스의 dataTipRenderer
스타일의 기본값은 DataTip
입니다.
DataTip
은 IDataRenderer
이므로 렌더러 역할을 할 수 있습니다. 그러나 방법 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
를 설정하여 사용자 정의 할 수 있습니다.
답변을 주시면 좋은 게시물이됩니다. – Ryan
감사합니다. Brian – prismaticorb