日期:2014-05-17  浏览次数:20731 次

flex如何根据xml生成折线图,求教
这是我的xml文件:
<node>
  <value>3,564,940.4</value>
  <time>11</time>
</node>
<node>
  <value>3,543,119.46</value>
  <time>10</time>
</node>

在as中:evt.result.node得到xml,如何生成一个折线图,time是横柱,value是竖柱。
无论是使用as,还是使用组件都可以。但最好能够运行。
谢谢!


------解决方案--------------------
找个例子,网上多的是。根据例子来该。

------解决方案--------------------
flex 动态生成柱状图,折线图.看看吧,也许对你有用
整个文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<viewer:BaseWidget xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:esri="http://www.esri.com/2008/ags"
xmlns:viewer="com.esri.viewer.*"
xmlns:components="com.esri.viewer.components.*"
widgetConfigLoaded="init()">
 <fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
@namespace esri "http://www.esri.com/2008/ags";
@namespace viewer "com.esri.viewer.*";
@namespace components "com.esri.viewer.components.*";
.ChineseFont
{
fontFamily:"Verdana","宋体";
fontWeight:normal;
fontSize:12;

 </fx:Style>
 <fx:Script>
<![CDATA[
import com.esri.viewer.AppEvent;
import com.esri.viewer.ViewerContainer;

import mx.charts.CategoryAxis;
import mx.charts.series.ColumnSeries;
import mx.charts.series.LineSeries;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.CloseEvent;
import mx.managers.PopUpManager;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.mxml.WebService;
import mx.utils.StringUtil;
[Bindable]
private var webService:WebService=null;
[Bindable]
private var myxmllist:XMLList=null;
private var col:Array=new Array();
private var lin:Array=new Array();
private var str:String="jbxx_art";
private const ICON_URL:String="assets/images/";

/**
* 条件的字符串
* */
private var sql:String="";
private var firstinit:Boolean=false;

private function init():void
{
wt.addTitlebarButton(ICON_URL + "i_save.png", "导出图片", export);
if (configXML)
{
FuncMain();

}
firstinit=true;
}

private function FuncMain():void
{
ViewerContainer.getInstance().addEventListener("SetData", function(evt:AppEvent):void
{
str=evt.data.type;
sql=evt.data.str;
});
ViewerContainer.getInstance().dispatchEvent(new Event("LoadedOver"));
if (webService == null)
{
webService=new WebService();
webService.useProxy=false;
webService.wsdl=this.configData.services.wbservices[configXML.wbsid];
webService.loadWSDL();
}
webService.Tjt_method.addEventListener(ResultEvent.RESULT, result_Tjt_method);
webService.Tjt_method.addEventListener(FaultEvent.FAULT, fault);
webService.Tjt_method(str, sql);
}

public override function setState(value:String):void
{
super.setState(value);
if (value == 'open' && firstinit)
{
if (configXML != null)
{
FuncMain();
}
}
}