11
Nov
07

Changing the default fill colors in a Flex PieChart control

The following examples show how you can change the default fill colors for a Flex PieChart control by setting the fills style using either CSS or MXML.

Full code after the jump.

The first example shows how you can set the fills style directly in your MXML code. As you can see, you pass an array of SolidColor objects containing color and alpha properties. If the color property is not specified, the default color of black is used. If you don’t pass a value for the alpha property, a default value of 1.0 (fully visible) is used.

View MXML

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/11/11/changing-the-default-fill-colors-in-a-flex-piechart-control/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="horizontal"
        verticalAlign="middle"
        backgroundColor="white">

    <mx:XML id="dp">
        <products>
            <product label="Product 1" data="3" />
            <product label="Product 2" data="1" />
            <product label="Product 3" data="4" />
            <product label="Product 4" data="1" />
            <product label="Product 5" data="5" />
            <product label="Product 6" data="9" />
            <product label="Product 7" data="2" />
        </products>
    </mx:XML>

    <mx:PieChart id="pieChart"
            dataProvider="{dp.product}"
            showDataTips="true"
            height="100%"
            width="100%">
        <mx:series>
            <mx:PieSeries id="pieSeries"
                    field="@data"
                    labelPosition="callout">
                <mx:fills>
                       <mx:SolidColor color="red" alpha="1.0" />
                       <mx:SolidColor color="haloOrange" alpha="1.0" />
                       <mx:SolidColor color="yellow" alpha="1.0" />
                       <mx:SolidColor color="haloGreen" alpha="1.0" />
                       <mx:SolidColor color="haloBlue" alpha="1.0" />
                </mx:fills>
                <mx:filters>
                    <mx:Array />
                </mx:filters>
            </mx:PieSeries>
        </mx:series>
    </mx:PieChart>

</mx:Application>

View source is enabled in the following example.

The following example shows how you can set the fills style within your style sheet (which can either be within the <mx:Style /> block, or loaded in from an external *.css file). When using CSS, you only specify the color value, and an alpha value of 1.0 is automatically set.

View MXML

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/11/11/changing-the-default-fill-colors-in-a-flex-piechart-control/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white">

    <mx:Style>
        PieSeries {
            fills: red, haloOrange, yellow, haloGreen, haloBlue;
        }
    </mx:Style>

    <mx:XML id="dp">
        <products>
            <product label="Product 1" data="3" />
            <product label="Product 2" data="1" />
            <product label="Product 3" data="4" />
            <product label="Product 4" data="1" />
            <product label="Product 5" data="5" />
            <product label="Product 6" data="9" />
            <product label="Product 7" data="2" />
        </products>
    </mx:XML>

    <mx:PieChart id="pieChart"
            dataProvider="{dp.product}"
            showDataTips="true"
            height="100%"
            width="100%">
        <mx:series>
            <mx:PieSeries id="pieSeries"
                    field="@data"
                    labelPosition="callout">
                <mx:filters>
                    <mx:Array />
                </mx:filters>
            </mx:PieSeries>
        </mx:series>
    </mx:PieChart>

</mx:Application>

View source is enabled in the following example.

Defaults? Did somebody say something about defaults?
If you’re curious (you probably weren’t, but hey), here are the default fill colors for the PieChart control:

View source is enabled in the following example.


8 Responses to “Changing the default fill colors in a Flex PieChart control”


  1. 1 theLoggerGuy Dec 12th, 2007 at 1:31 pm

    Thanks for the list of the default colours. Despite your doubts, it is precisely what I wanted to know.

  2. 2 Dawn Mar 10th, 2008 at 1:34 pm

    This was a very helpful information for me thanx alot. These tips wil enable me to color cordinate my projects.

  3. 3 john gogoly Apr 29th, 2008 at 12:51 pm

    //The Life Saver effect - stick it in the pieseries

  4. 4 marco May 6th, 2008 at 7:18 pm

    i have a XML node to contain the color (blue) using mx:HTTPService to connect my xml
    and all xml data is in xmlData:array. i get the color via “temp = xmlData[0][”chartcolor”];”
    i use alert.show to trace the valus and i can shows “blue” but how can i use the “blue” on it ?
    can i set up like below??

    PieSeries {
    fills: xmlData[0][”chartcolor”], haloOrange, yellow, haloGreen, haloBlue;
    }

    it seems not work in my case ?? how can i fix it ??

    thx alot

  5. 5 peterd May 7th, 2008 at 5:31 pm

    marco,

    You would probably need to set the fills style using ActionScript instead of within CSS. I don’t think CSS or <mx:Style /> blocks would parse ActionScript code like xmlData[0]["chartcolor"].

    Peter

  6. 6 JRoC Nov 6th, 2008 at 8:21 am

    Is there a way to change (via a colorpicker) the colors of each individual pie slice?

  7. 7 Koxon Mar 19th, 2009 at 5:16 pm

    For that you should create your series in ActionScripts and set the color for each of thoses Series.
    So after you could bind a ColorPicker to a Serie, and change its property.

  8. 8 Darrin Apr 2nd, 2009 at 7:11 am

    Is there a way to have have the color be dynamic? so I have a display function and set sliceID.color = model.var1;
    sliceID.color = model.var2;

Leave a Reply

This blog is terrible at eating HTML tags. If you plan on posting code/XML, please escape your "<" characters as "&lt;" and your ">" characters as "&gt;".




November 2007
M T W T F S S
« Oct   Dec »
 1234
567891011
12131415161718
19202122232425
2627282930  

Badge Farm

  • Powered by Redoable 1.2
  • Cornify
  • Feeds burnt by Feedburner
  • Feed