2009-08-25 62 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

相关问题