Сегменты LineChart во Flex - PullRequest
       25

Сегменты LineChart во Flex

2 голосов
/ 19 марта 2010

Я делаю некоторые линейные диаграммы в своем приложении Flex, и мне нужно нарисовать сегменты этих линейных диаграмм другим цветом. У кого-нибудь есть идеи, как этого можно достичь? Например, если у меня есть такой код (на самом деле, я привел этот тривиальный пример для простоты (проблема та же)):

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
        <![CDATA[
        import mx.collections.ArrayCollection;
        [Bindable]
        private var profit:ArrayCollection = new ArrayCollection( [
            { Month: "Jan", Profit: 2000 },
            { Month: "Feb", Profit: 1000 },
            { Month: "Mar", Profit: 1500 },
            { Month: "Apr", Profit: 1800 },
            { Month: "May", Profit: 2400 },
            { Month: "Jun", Profit: 3500 } 
            ]);
        ]]>
    </mx:Script>
    <mx:Stroke id = "s1" color="blue" weight="2"/>
        <mx:LineChart id="linechart" dataProvider="{profit}">
            <mx:horizontalAxis>
                <mx:CategoryAxis categoryField="Month"/>
            </mx:horizontalAxis>
            <mx:series>
                <mx:LineSeries yField="Profit" form="curve" displayName="Profit" lineStroke="{s1}"/>
            </mx:series>
        </mx:LineChart>
</mx:Application>

Мне бы хотелось, чтобы эта серия "Прибыль" была синей (как сейчас), но я бы хотела, чтобы первый сегмент линии (январь, февраль) был, скажем, желтым, а другой сегмент, скажем (март , Апрель, июнь) будет красным.

Я знаю, что мог бы нарисовать дополнительные серии для этих сегментов с соответствующей раскраской поверх существующей, но мне было интересно, есть ли более элегантный способ сделать это во Flex?

Спасибо за ваши ответы.

1 Ответ

2 голосов
/ 19 марта 2010

Возможно, вы можете создать свой собственный класс рядов линейных диаграмм. Это демо с источниками от Ely Greenfield, где реализованы пользовательские серии PieChart. Смотрите файл SizedPieSeries.as. Существует свойство radiusField, которое является пользовательским. Я думаю, вы можете сделать то же самое с «цветом».

...