2010-10-06 79 views
0

我想在圖表上顯示多個系列。 但是這會導致多軸,爲了避免這種情況,我試圖讓一些軸不可見。柔性恢復空間被無形軸浪費了

問題: 當我設置軸渲染器的不可見= false時,會留下一個空白區域。

有沒有辦法避免這個空白出現?

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> 
    <mx:Script><![CDATA[ 
    import mx.charts.HitData; 
    import mx.collections.ArrayCollection; 

    [Bindable] 
     public var DS:ArrayCollection = new ArrayCollection([ 
     {date:"22-Aug-05", expense:1575.9, tax:41.87, price: 4}, 
     {date:"23-Aug-05", expense:NaN, tax:NaN,price: 4}, 
     {date:"24-Aug-05", expense:1507.1, tax:42.77,price:5 }, 
     {date:"25-Aug-05", expense:1568.8 ,tax:48.06, price:5}, 
    ]); 

    public function dtFunc(hd:HitData):String { 
     if(""+hd.item.expense == "NaN") 
     return ""; 
     else 
     return hd.item.expense ; 
    } 



    ]]></mx:Script> 

<mx:SolidColor id="sc1" color="blue" alpha=".8"/> 
<mx:Stroke id="s1" color="blue" weight="1"/> 


    <mx:Panel title="Column Chart With Multiple Axes"> 
    <mx:CartesianChart id="myChart" showDataTips="true" dataTipFunction="dtFunc"> 
     <mx:horizontalAxis> 
      <mx:CategoryAxis id="h1" categoryField="date"/> 
     </mx:horizontalAxis> 

     <mx:horizontalAxisRenderers> 
      <mx:AxisRenderer placement="bottom" axis="{h1}"/> 
     </mx:horizontalAxisRenderers> 

     <mx:verticalAxisRenderers> 
      <mx:AxisRenderer placement="left" axis="{v1}"/> 
      <mx:AxisRenderer placement="left" axis="{v3}" visible="false"/> 
     </mx:verticalAxisRenderers> 

     <mx:series> 
      <mx:ColumnSeries id="cs1" 
       horizontalAxis="{h1}" 
       dataProvider="{DS}" 
       yField="expense" 
       displayName="EXPENSE-BARCHART" 
       filterData="false" 
      > 
       <mx:verticalAxis> 
        <mx:LinearAxis id="v1" /> 
       </mx:verticalAxis>   
      </mx:ColumnSeries>   


      <mx:LineSeries id="cs3" horizontalAxis="{h1}" dataProvider="{DS}" yField="price" 
      displayName="Price" form="step" 
      > 
       <mx:verticalAxis> 
        <mx:LinearAxis id="v3" />   
       </mx:verticalAxis> 

      </mx:LineSeries> 
     </mx:series> 
    </mx:CartesianChart> 
    <mx:Legend dataProvider="{myChart}"/> 
    </mx:Panel> 
</mx:Application> 

回答

0

嘗試添加屬性showLine = 「假」 showLabels = 「假」 tickPlacement = 「無」內AxisRenderer將。

它適合我,但我不確定它是否已經爲時已晚。希望能幫助到你。