2011-05-10 3 views
1

플렉스 그래프를 표시하라는 메시지가 표시되면 외부 소스로부터 최소 및 최대 시간을 가져 오므로 DateTimeAxis을 사용하여 시간 (x) 축을 표시합니다. 이 때문에 우리는 labelUnitsinterval을 하드 코딩 할 수는 없지만, 기본 구현은 원하는 것을 남겨 둡니다. 누구든지 DateTimeAxis가 labelUnitsinterval을 자동 구성하는 데 도움이되는 라이브러리에 대해 더 알고 있습니까?Flex DateTimeAxis : 사용 시간을 제어 하시겠습니까?

다음 예제에서는 첫 번째 레이블에 01:04를 넣고 그 다음은 01:18에 넣습니다. 뭐야? 01:15 다음에 01:30은 사용자에게 친숙합니다. interval="15"을 넣으면 우리는 01:04와 01:19를 얻습니다.

다음은 완전한 예입니다. (전혀 레이블에서 이러한 minimummaximum 결과 labelUnits를 생략, 그래서에 넣어) :

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"> 
    <mx:DateFormatter id="df" formatString="JJ:NN:SS" /> 
    <mx:Script> 
     <![CDATA[ 
      private const minimum:Date = new Date("Apr 1 2011 01:03:54 AM"); 
      private const maximum:Date = new Date("Apr 1 2011 03:07:54 AM"); 
      private function labelFunction(item:Object, 
              field:String, 
              index:Number):String { 
       return df.format(item as Date); 
      } 
     ]]> 
    </mx:Script> 

    <mx:CartesianChart width="600" height="200"> 

     <mx:horizontalAxis> 
      <mx:DateTimeAxis 
       minimum = "{minimum}" 
       maximum = "{maximum}" 
       displayLocalTime="true" 
       labelFunction="labelFunction" 
       labelUnits="minutes" 
      /> 
      <!-- 
       interval="15" 
      --> 
     </mx:horizontalAxis> 

    </mx:CartesianChart> 

</mx:Application> 

주는이 flex screenshot http://www.morch.com/download/noindex/flex/DateTimeAxisScaling/DateTimeAxis.png

차라리 다시 발명 바퀴 필요가 없습니다 것 및

  • 최소 및 최대 시간
  • 를 :에 기초 labelUnits을 계산하고 interval 그래프의 너비
  • 글꼴 크기
  • 다른 무엇?

그래서 나는 뭔가를 놓쳤거나 AutoDateTimeAxis 또는 일부 구현을 놓치기를 바라고 있습니다.

답변

1

DateTimeAxis와 비슷한 문제가있어서 대신 사용자 지정 레이블 기능을 사용하여 날짜 레이블의 서식을 지정하는 범주 축을 사용하게되었습니다.

범위가 DST와 DST가 아닌 경우 머리를 뒤틀는 일광 절약 시간제와 유사한 버그가 있습니다. 중복되는 시간이 초과/부족하여 간격이 절대 일치하지 않습니다.

관련 문제