2009-08-25 79 views
0

我需要2箇中給出的日期之間創建一個時間表,即: 2006-01-20 - 2009-02-14創建一個時間表,從日期日期的Flex/AS3

的時間表必須制定在給定的寬度(可以改變),即: 600px的

但我需要在這一年(每個73天aprox的)添加標記,一個在今年年初,和其他人的4倍:

timeline

任何提示嗎?

回答

1

我想在Flex圖表包軸允許您在默認情況下做這樣的格式。

如果需要做更多,Flex的圖表也可以讓您吸引他們的。這可能是你正在尋找的。

鏈接:http://livedocs.adobe.com/flex/3/html/help.html?content=charts_formatting_02.html

你當然可以,始終做到從零開始自己,如果你想要的,但你的時間上花費的金額可能不會抵消專業版的價格(要獲得圖表組件,除非你已經有了)。

+0

是的,我在想使用的圖表,但並沒有發現顯示在圖表中該信息的方式。我現在就玩。謝謝!。 (如果你知道一個類似的例子,那會很有幫助) – 2009-08-25 15:32:14

+0

好吧,主要和次要的蜱蟲當然是可能的。如果你能提供更多的細節,我可以幫助你滿足你的需要,但是從你展示的軸上,這應該很容易做到。 – CookieOfFortune 2009-08-25 16:08:38

+0

我有一個加載所有數據的CartesianChart(我不需要顯示該系列)。但是我看不到如何僅顯示年份(1月1日)和4個標記,直到明年1月1日。與AxisRenderer一起試用,但我被卡住了。 – 2009-08-25 17:19:45

2

我會從頭開始創建,組件可能是基於畫布組件上,並通過(行數或類似的東西將組件的寬度增加線路和標籤 - 我不是在數學最好的)。

你也可以實現一個功能,彈出一個框信息,當用戶將鼠標懸停在時間軸的某一部分。

你想要什麼都有具體的時間表,功能圖表軸沒有。我不會爲了這個特定的任務而使用不構建的組件,並引入錯誤或不合適的解決方法。 Flex是爲快速擴展而構建的,所以爲什麼不利用這個特性呢?

編輯:公式 要獲得刻度線的位置,你就必須由蜱減一的數量來劃分時間線的寬度。假設我們有一個包含5個刻度的400px時間軸(計算時間軸遠端的時間軸)。我們計數從0開始的滴答。我們所要做的所有的操作都是將400除以4,並將其乘以滴答數。

在代碼:

for (var i : int = 0; i < num_ticks; i++) { 
    ticks[i].x = timeline_width/num_ticks-1 * i; 
    // do some drawing of the ticks 
} 

我將帶您穿過。

  • 蜱0,在最左邊,當x爲0四分之四百* 0 = 0

  • 蜱1,接近最左邊,在×100四分之四百* 1 = 0

  • 蜱2,在中間,位於x 200四分之四百* 2 = 200

  • 等等,蜱3在×300和4×400(最右邊)。

如果上述公式返回一個小數?回合吧!用戶幾乎不會注意到一個像素的差異(儘管我認爲整數運算就像這樣自動進行)。

您可以通過timeline_width-margin(必須是偶數)在時間線右側的左邊添加一個邊距,並將每個tick的x位置增加一半。這將在每邊添加一些空間並將滴答中心集中。

如果你幸運的話,我可能只是做一個工作原型,你很快;-)

+0

是的,從頭開始創建它的問題是,您需要執行大量公式才能根據像素寬度獲取正確的位置。 – 2009-08-25 17:25:23

+0

不,實際上。看我的編輯。 – Aethex 2009-08-26 01:03:46

+0

太棒了,我會試試看,看起來很有趣。但是像30年這樣的日期範圍會發生什麼? – 2009-08-26 13:32:30

相關問題