Строю график из данных xml в виде прямоугольников.
Создал два класса . Вроде все получается. Данные я получил. Но вывод никак не могу сделать графически. Получается вот такое:
Выкладываю коды классов

Код AS3:
package coms
{
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.display.Sprite;
import flash.events.EventDispatcher;
public class Graphic extends EventDispatcher
{
private var urlLoader:URLLoader;
private var data:XML;
public static const LOADS:String = "LOADS";
public function Graphic()
{
urlLoader = new URLLoader;
urlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
}
public function load(path:String):void
{
urlLoader.load(new URLRequest(path));
}
private function xmlLoaded(e:Event):void
{
//trace(urlLoader.data);
data = XML(e.target.data);
dispatchEvent(new Event(LOADS));
}
public function getResult():XML
{
return data;
}
}
}
и второй

Код AS3:
package coms
{
import flash.display.Sprite;
import flash.display.Graphics;
import flash.display.Shape;
import flash.events.Event;
import flash.text.engine.GraphicElement;
public class ViewGraphics extends Sprite
{
private var dataXML:Graphic = new Graphic();
private var sp:Sprite = new Sprite();
private var date:XMLList;
private var time:XMLList;
private var open:XMLList;
private var close:XMLList;
private var high:XMLList;
private var low:XMLList;
private var data:XMLList;
public function ViewGraphics():void
{
dataXML.load("xml/XML.xml");
dataXML.addEventListener(Graphic.LOADS, onLoads);
}
public function onLoads(e:Event):void
{
viewXml(dataXML.getResult());
}
private function viewXml(vars:XML):void
{
data = vars.Records.Record;
open = data.Open;
close = data.Close;
trace(vars.Records.Record.length());
for (var i:int = 0; i < data.length(); i++)
{
var sp:Sprite = new Sprite();
addChild(sp);
sp.x = 8*Number([i]);
var g:Shape = new Shape();
g.graphics.lineStyle(1, 0x000000);
g.graphics.beginFill(0x00FF33,1);
g.graphics.moveTo(5, Number(open[i]));
g.graphics.lineTo(5, Number(close[i]));
g.graphics.lineTo(10, Number(close[i]));
g.graphics.lineTo(10, Number(open[i]));
g.graphics.lineTo(5, Number(open[i]));
g.graphics.endFill();
sp.addChild(g);
trace("open = " + open[i] + " || close = " + close[i]);
}
}
}
}
Может я где-то ошибку допустил, исправьте пожалуйста. Или может как то можно самой осью координат управлять. Или кто-то с чем то подобным сталкивался. Кто что знает.