2010-03-19 6 views
2

Je fais des graphiques linéaires dans mon application Flex, et j'ai besoin de dessiner des segments de ces graphiques en couleurs différentes. Est-ce que quelqu'un a une idée de comment cela pourrait être réalisé? Par exemple, si j'ai un code comme celui-ci (en fait, je l'ai donné cet exemple trivial pour la simplicité (le problème est le même)):Segments LineChart dans 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> 

Je voudrais que cette série « Profit » être bleu (comme c'est actuellement le cas), mais j'aimerais que le premier segment de la ligne (Jan, Feb) soit jaune, et un autre segment, disons (mars, avril, juin), soit rouge. Je sais que je pourrais dessiner des séries supplémentaires pour ces segments avec une coloration appropriée sur celle existante, mais je me demandais s'il y avait une façon plus élégante de faire cela dans Flex?

Merci pour vos réponses.

Répondre

2

Probablement, vous pouvez créer votre propre classe de séries de graphiques personnalisés. Il s'agit d'un par Ely Greenfield où des séries PieChart personnalisées sont implémentées. Voir le fichier SizedPieSeries.as. Il y a une propriété radiusField qui est personnalisée. Je suppose que vous pouvez faire la même chose avec la 'couleur'.

+0

Merci. Cela pourrait faire l'affaire. BTW, avez-vous connaissance de bonnes ressources qui expliquent plus en détail la personnalisation des objets Flex en général? – kevin

+1

Voici une liste de documents que j'ai trouvés: Présentation de UIComponent LifeCycle: http://danorlando.com/?p=122 Informations plus détaillées: http://livedocs.adobe.com/flex/3/html/help. html? content = ascomponents_advanced_2.html Espérons que ça aide – mico

+0

Merci encore pour les ressources. – kevin

Questions connexes