在弹性图表中分解折线图

时间:2010-02-10 08:56:48

标签: flex flex3 adobe flex-charting

我想知道我将如何处理以下要求。我需要创建过去8个季度的业务数据折线图。这很容易,但要求是,去年的第四季度与第一季度之间不应该存在联系。实际上,使用相同的数组集合,我需要拆分折线图,使其在同一图表上看起来像两条不同的线条。不知道如何继续下去。

谢谢,PK

1 个答案:

答案 0 :(得分:2)

首先,您可以按照Array Collection中的条件添加多个系列:

<mx:series>
           <mx:LineSeries 
                yField="Profit" 
                displayName="Profit"
           />
           <mx:LineSeries 
                yField="Expenses" 
                displayName="Expenses"
           />
        </mx:series>

您可以使用标记更改每个系列的线条宽度和颜色。使每一行都有不同的笔触和颜色。

<?xml version="1.0"?>
<!-- charts/BasicLineStroke.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script><![CDATA[
     import mx.collections.ArrayCollection;
     [Bindable]
     public var expenses:ArrayCollection = new ArrayCollection([
        {Month:"Jan", Profit:2000, Expenses:1500, Amount:450},
        {Month:"Feb", Profit:1000, Expenses:200, Amount:600},
        {Month:"Mar", Profit:1500, Expenses:500, Amount:300}
     ]);
  ]]></mx:Script>
  <mx:Panel title="Line Chart With Strokes">
     <mx:LineChart id="myChart" 
        dataProvider="{expenses}" 
        showDataTips="true"
     >
        <mx:horizontalAxis>
           <mx:CategoryAxis 
                dataProvider="{expenses}" 
                categoryField="Month"
            />
        </mx:horizontalAxis>
        <mx:series>
           <mx:LineSeries 
            yField="Profit" 
            displayName="Profit"
           >
            <mx:lineStroke>
                <mx:Stroke 
                    color="0x0099FF" 
                    weight="20" 
                    alpha=".2"
                />
            </mx:lineStroke>                
           </mx:LineSeries>
           <mx:LineSeries 
            yField="Expenses" 
            displayName="Expenses"
           >
            <mx:lineStroke>
                <mx:Stroke 
                    color="0x0044EB" 
                    weight="20" 
                    alpha=".8"
                />
            </mx:lineStroke>                
           </mx:LineSeries>
        </mx:series>
     </mx:LineChart>
     <mx:Legend dataProvider="{myChart}"/>
  </mx:Panel>
</mx:Application>