【问题标题】:Flex Date and Time Stock Chart (HOLC) - Need Help弹性日期和时间股票图表 (HOLC) - 需要帮助
【发布时间】:2010-08-28 03:28:56
【问题描述】:

我试图在 Flex 3.5 Stock HOLC(高、开、低、收)图表中同时显示日期和时间。此数据显示但格式不正确... 问题: 1.时间不正常..他们不符合正确的时间..(是不是因为他们不是军事时间)? 2.底部标签上没有显示的日期(天)都是,有没有办法做到这一点? 3.时间显示有很大的差距......在24小时内......当数据不存在时总是这样吗?或者,我可以像“禁用天数”那样禁用特定时间段

有什么建议吗?

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script><![CDATA[
     import mx.collections.ArrayCollection
    [Bindable]
     public var TICKER:ArrayCollection = new ArrayCollection([
        {date:"1/8/05 8:30:00 AM",open:42.57,high:43.08,low:42.08,close:42.75},
        {date:"1/8/05 9:00:00 AM",open:42.89,high:43.5,low:42.61,close:43.19},
        {date:"1/8/05 9:30:00 AM",open:43.19,high:43.31,low:42.77,close:43.22},
        {date:"1/8/05 10:00:00 AM",open:42.89,high:43,low:42.29,close:42.71},
        {date:"1/8/05 10:30:00 AM",open:42.49,high:43.36,low:42.02,close:42.99},
        {date:"1/8/05 11:00:00 AM",open:43,high:43.25,low:42.61,close:42.65},
        {date:"1/8/05 11:30:00 AM",open:42.93,high:43.89,low:42.91,close:43.82},
        {date:"1/8/05 12:00:00 PM",open:44,high:44.39,low:43.31,close:43.38},
        {date:"1/8/05 12:30:00 PM",open:43.39,high:44.12,low:43.25,close:44},
        {date:"1/8/05 1:00:00 PM",open:43.46,high:46.22,low:43.36,close:46.1},
        {date:"1/8/05 1:30:00 PM",open:43.46,high:46.22,low:43.36,close:46.1},
        {date:"1/8/05 2:00:00 PM",open:43.46,high:46.22,low:43.36,close:46.1},
        {date:"1/8/05 2:30:00 PM",open:43.46,high:46.22,low:43.36,close:46.1},
        {date:"1/8/05 3:00:00 PM",open:43.46,high:46.22,low:43.36,close:46.1},
        {date:"2/8/05 8:30:00 AM",open:42.57,high:43.08,low:42.08,close:42.75},
        {date:"2/8/05 9:00:00 AM",open:42.89,high:43.5,low:42.61,close:43.19},
        {date:"2/8/05 9:30:00 AM",open:43.19,high:43.31,low:42.77,close:43.22},
        {date:"2/8/05 10:00:00 AM",open:42.89,high:43,low:42.29,close:42.71},
        {date:"2/8/05 10:30:00 AM",open:42.49,high:43.36,low:42.02,close:42.99},
        {date:"2/8/05 11:00:00 AM",open:43,high:43.25,low:42.61,close:42.65},
        {date:"2/8/05 11:30:00 AM",open:42.93,high:43.89,low:42.91,close:43.82},
        {date:"2/8/05 12:00:00 PM",open:44,high:44.39,low:43.31,close:43.38},
        {date:"2/8/05 12:30:00 PM",open:43.39,high:44.12,low:43.25,close:44},
        {date:"2/8/05 1:00:00 PM",open:43.46,high:46.22,low:43.36,close:46.1},
        {date:"2/8/05 1:30:00 PM",open:43.46,high:46.22,low:43.36,close:46.1},
        {date:"2/8/05 2:00:00 PM",open:43.46,high:46.22,low:43.36,close:46.1},
        {date:"2/8/05 2:30:00 PM",open:43.46,high:46.22,low:43.36,close:46.1},
        {date:"2/8/05 3:00:00 PM",open:43.46,high:46.22,low:43.36,close:46.1}
     ]);
  ]]></mx:Script>

  <mx:Panel title="HighLowOpenClose Chart">
     <mx:HLOCChart id="myChart" 
        dataProvider="{TICKER}" 
        showDataTips="true"
     >
        <mx:verticalAxis>
           <mx:LinearAxis minimum="30" maximum="50"/>
        </mx:verticalAxis>
        <mx:series>
           <mx:HLOCSeries
                dataProvider="{TICKER}"
                openField="open"
                highField="high"
                lowField="low"
                closeField="close"
                displayName="TICKER"
                xField="date"  >
           </mx:HLOCSeries>
        </mx:series>

            <mx:horizontalAxis>
                <mx:DateTimeAxis 
                    parseFunction="{myParseFunction}"   
                    id="dt1"
                    disabledDays="[0,1]"
                    dataUnits="hours"
                    alignLabelsToUnits="true"
                    labelUnits="hours" />
            </mx:horizontalAxis>

            <mx:horizontalAxisRenderers>
                <mx:AxisRenderer
                    id="dt1Rnd" 
                    showLabels="true" 
                    axis="{dt1}"  
                    visible="true"
                    minWidth="1"  />
            </mx:horizontalAxisRenderers>         

     </mx:HLOCChart>
     <mx:Legend dataProvider="{myChart}"/>
  </mx:Panel>
  <mx:Script>
    <![CDATA[
    public function myParseFunction(s:String):Date {
        // Get an array of Strings from the 
        // comma-separated String passed in.
        var a:Array = s.split(/:|\/|\s/);
        trace("String a : " + a.toString());
        // Trace out year, month, and day values.
        // To create a Date object, you pass "YYYY,MM,DD", 
        // where MM is zero-based, to the Date() constructor.
        var newDate:Date = new Date(a[2],a[1],a[0],a[3],a[4]);
        return newDate;
        }
    ]]>
  </mx:Script>
 </mx:Application>

【问题讨论】:

    标签: actionscript flex3 charts flex-charting


    【解决方案1】:
    1. 不,日期很好,不需要那种格式。
    2. 查看代码http://pastebin.com/9Y443NFv
    3. 是的,使用 disabledRanges

    你也可以在这段代码中找到有趣的东西: http://www.meutzner.com/blog/attachments/360/srcview/index.html

    问候 尤金

    【讨论】:

    • 非常感谢您的帮助.. 我很感激...不确定 DateRange 是否可以工作,尽管我之前对其进行了测试并且无法使其正常工作...您将如何省略时间段...比如说 15:01 - 24:00 和 00:00 - 08:30
    猜你喜欢
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 2020-11-21
    • 1970-01-01
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多