刚学Flex ,希望各位不吝赐教,我是想模拟一个监测后台数据,实时曲线图显示。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"  width="100%" creationComplete="init()">  
      <mx:Script><![CDATA[
       import mx.formatters.CurrencyFormatter;
       import mx.charts.chartClasses.IAxis;  
          import mx.collections.ArrayCollection;  
          [Bindable]  
          public var expenses:ArrayCollection = new ArrayCollection();
                
           
           private static const SECENDS:int=2000;   
           
             private function init():void{
              setInterval(addLineItem,SECENDS);   
             }
              
             private var i:Number = 0;
             private function addLineItem():void{
             
              var obj:Object;
              var randNum1:Number = Math.ceil(Math.random()*2000); 
              var randNum2:Number = Math.ceil(Math.random()*1500); 
              var randNum3:Number = Math.ceil(Math.random()*1000);  
              obj = {Day: i, Profit: randNum1, Expenses: randNum2, Amount: randNum3};
              expenses.addItem(obj);
              i++;
             
              if(i == 24){
              expenses = new ArrayCollection();
              i = 0;
              }
             }
             
               
      ]]></mx:Script>
        
      <mx:Panel title="曲线图" fontSize="20" width="90%" height="90%">  
      
          <mx:LineChart id="linechart" dataProvider="{expenses}" showDataTips="true" width="90%" >
          
        <mx:verticalAxis> 
            <mx:LinearAxis id="linearAxis" 
                    baseAtZero="false" 
                    title="Value" 
                    minorInterval="0.10" 
                    interval="100" 
                    maximum="2000" minimum="0"/>
        </mx:verticalAxis>
        
              <mx:horizontalAxis> 
                 mx:CategoryAxis displayName="Day" categoryField="Day" />
                  <!-- 
                  <mx:LinearAxis id="xAxis" maximum="23" minimum="11" interval="1">
                  
                  </mx:LinearAxis>
                  -->
              </mx:horizontalAxis>              <mx:series>                 
                  <mx:LineSeries yField="Profit" displayName="111"  />  
                  <mx:LineSeries yField="Expenses" displayName="曲线"  />  
                  <mx:LineSeries yField="Amount" displayName="Amount"/>  
              </mx:series>
              
          </mx:LineChart>  
      </mx:Panel>  
 </mx:Application>
其中 :                  <mx:LinearAxis id="xAxis" maximum="23" minimum="11" interval="1">
                  
                  </mx:LinearAxis>注释掉的部分就是设置 X 轴最大值,但是不能和 
 <mx:CategoryAxis displayName="Day" categoryField="Day" />
同时放入 mx:horizontalAxis  中,不知是否将问题描述清楚 ? 求解 

解决方案 »

  1.   

    <mx:LinearAxis id="xAxis" maximum="23" minimum="0" interval="1"/>
    更正一处 !在线等 
      

  2.   

       up ........
     这里没人弄  flex  吗 ?
      

  3.   

       参照 :
      Json 和 Flex 通过 XML 通信
      

  4.   

    楼主的意思是不是想把“Day”的值映射到x轴上?
    如果是的话,如下写法应该可以。
    <mx:horizontalAxis>中写法不变,也是:<mx:horizontalAxis>
          <mx:LinearAxis id="xAxis" maximum="23" minimum="11" interval="1" />
    </mx:horizontalAxis><mx:series>中设定x轴需要映射的字段即可。引用楼主代码如下:<mx:series>                    
        <mx:LineSeries xField="Day" yField="Profit" displayName="111"  />  
    </mx:series>