Сегменты LineChart в Flex

Я делаю несколько линейных диаграмм в своем приложении 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?

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


person kevin    schedule 19.03.2010    source источник


Ответы (1)


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

person mico    schedule 19.03.2010
comment
Спасибо. Это могло бы помочь. Кстати, знаете ли вы какие-нибудь хорошие ресурсы, которые более подробно объясняют настройку объектов Flex в целом? - person kevin; 20.03.2010
comment
Вот список найденных мной документов: Обзор UIComponent LifeCycle: danorlando.com/?p=122 Более подробная информация: Liveocs.adobe.com/flex/ 3 / html / Надеюсь, что это поможет - person mico; 20.03.2010
comment
Еще раз спасибо за ресурсы. - person kevin; 20.03.2010
comment
Вот одно из возможных решений. Я думаю, это может помочь stackoverflow.com/questions/14528652 - person Anton; 26.01.2013