0

我试图在 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>
4

1 回答 1

0
  1. 不,日期很好,不需要那种格式。
  2. 检查代码http://pastebin.com/9Y443NFv
  3. 是的,使用 disabledRanges

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

问候尤金

于 2010-08-30T00:15:04.750 回答