I am trying to show BOTH the date and the time in Flex 3.5 Stock HOLC (high, open, low, close) Chart. This data shows up but not in the correct format... Problems: 1. The time are out of whack.. they do not line up with proper time.. (is it because they are not military time)? 2. The dates (days) do not show up on the bottom labels are all, is there a way to make this happen? 3. The times show up with large gaps... in the 24 hour period... Is this always the case when the data is not there for the time? Or, can I disable specific time periods like is possible with "disable days"
Any suggestions?
<?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>