你是不是想找相關Flash動畫公司: 二維動畫公司 Flash課件制作 宣傳片制作 還是要找北京、上海、西安、廣州、南京的動畫制作公司

山西11选5zhushou:DateTimeAxis高級應用

編輯:翼虎動漫          操作時間:2011/2/25

山西11选5走势图一定牛 www.rplkts.com.cn DateTimeAxis可檢查軸的最小值和最大值之間的范圍,以此選擇最合理的單位用于標記軸。但對于以分鐘為數據 單位的圖表,往往會出現許多問題,本文將以一個實例來談談解決之法。

原因:打開stock.xml,可以看到該文件中僅包含每天上午9點到下午3點之間的歷史數據,而且有兩天還是工作日。DateTimeAxis不 會篩選禁用的數據,僅顯示與圖表中有用的數據。

解決辦法:使用disabledDays和disabledRanges屬性每周中禁用的天數以及禁用的日期范圍。如下面代碼:

disabledDays = [0,6];
override public function get disabledRanges():Array
{
 var diff:int = new Date(maximum.getTime() - minimum.getTime()).date;
 
 var arr:Array = new Array();
 
 if(dataUnits == "minutes" || dataUnits == "hours")
 {
  for(var i:int = 0; i < diff; i++)
  {  
   var startDate:Date = new Date(minimum.fullYear, 
    minimum.month, minimum.date + (i), 15, 0);
   var endDate:Date = new Date(minimum.fullYear, 
    minimum.month, minimum.date + (i + 1), 9, 0);
   var range:DateRange = new DateRange( startDate, endDate);
   arr.push(range);
  }
 }
  
 else
 {
  arr = super.disabledRanges;
 }
 return arr; 
}

實際上,變量diff的值一般不會超過5,因此我們可以取date屬性而不用除以24*60*60*1000。

注意:如果是用Flex SDK 3.3以下的SDK來編譯,圖表會向左偏移,這是Flex SDK的一個Bug。詳見//bugs.adobe.com/jira/browse/FLEXDMV-963。

問題二: 日期軸標簽全部都是以小時為單位,無醒目間隔。點擊查看//www.riafan.com/flex/datetimeaxis/reducelabels.html。

原因:日期軸標簽使用了自動計算的日期格式,且不是LocalTime,因此我們之前設定displayLocalTime="true"。

解決辦法:設定labelFunction()或覆寫formatDays()、formatMinutes()等方法。如下面代碼:

override protected function formatDays(d:Date, previousValue:Date, axis:DateTimeAxis) : String
{
 var df:DateFormatter = new DateFormatter();
 df.formatString="MMM D";
 return df.format(d);
}
override protected function formatMinutes(d:Date, previousValue:Date, axis:DateTimeAxis) : String
{
 var df:DateFormatter = new DateFormatter();
 df.formatString="L A";
 var dt:Date = new Date(labelMinimum);
 var h:Number = dt.hours;
 
 if(dt.minutes > 0 || dt.seconds > 0)
 {
  h += 1;
 }
 
 if(d.hours == h)
 {
  return formatDays(d, previousValue, axis)
 }
 return df.format(d);
}

在formatMinutes()方法中,我們使用了一點小技巧讓每天的第一個日期軸標簽以天為單位顯示。

版權申明 ┊ 業務范圍 ┊ 加入我們  ┊ 聯系方式
翼虎動漫工作室承接各類Flash動畫制作 翼虎口號做客戶滿意的flash訂單?。?!
地址:上海市青浦區崧澤大道6066號19號樓二樓(整層) 全國免費咨詢熱線:400 804 9112
我們的業務還包括制作各式公交動畫廣告,地鐵動畫廣告,電視動畫廣告以及多媒體設計與制作。
友情鏈接: 北京三維動畫公司 二維動畫制作 Flash動畫制作 北京動畫制作公司 山西11选5走势图一定牛 蘇ICP備19008057號