ColorObjectColorizer Class

A colorizer that allows providing Color objects stored in SeriesBase.ColorDataMember to series points.

Namespace: DevExpress.XtraCharts

Assembly: DevExpress.XtraCharts.v20.1.dll

Declaration

public class ColorObjectColorizer :
    ChartColorizerBase
Public Class ColorObjectColorizer
    Inherits ChartColorizerBase

Remarks

The ColorObjectColorizer is a default colorizer. Use the SeriesViewBase.Colorizer property to assign the colorizer to a series view.

Refer to the Series Point Colorizer topic for more information about colorizers.

Examples

To use the Color Object Colorizer, do the following:

Create a ColorObjectColorizer object and assign it to the SeriesViewBase.Colorizer property. Additional configuration is not required.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
using DevExpress.XtraCharts;

namespace ColorObjectColorizerExample {
    public partial class Form1 : Form {
        const string filepath = "..\\..\\Data\\GDP.xml";

        public Form1() {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e) {
            #region #BarSeries
            // Create and customize a bar series.
            Series barSeries = new Series() {
                DataSource = LoadData(filepath),
                ArgumentDataMember = "Country",
                ColorDataMember = "NationalColor",
                View = new SideBySideBarSeriesView()
            };
            barSeries.View.Colorizer = new ColorObjectColorizer();
            barSeries.ValueDataMembers.AddRange(new string[] { "Product" });
            #endregion #BarSeries

            // Add the series to the ChartControl's Series collection.
            chartControl1.Series.Add(barSeries);

            // Show a title for the values axis.
            ((XYDiagram)chartControl1.Diagram).AxisY.Title.Text = "GDP per capita, $";
            ((XYDiagram)chartControl1.Diagram).AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
        }

        #region #DataLoad
        class HpiPoint {
            public string Country { get; set; }
            public double Product { get; set; }
            public string NationalColor { get; set; }
        }

        // Loads data from an XML data source.
        static List<HpiPoint> LoadData(string filepath) {
            XDocument doc = XDocument.Load(filepath);
            List<HpiPoint> points = new List<HpiPoint>();
            foreach (XElement element in doc.Element("G20HPIs").Elements("CountryStatistics")) {
                points.Add(new HpiPoint() {
                    Country = element.Element("Country").Value,
                    Product = Convert.ToDouble(element.Element("Product").Value),
                    NationalColor = element.Element("NationalColor").Value
                });
            }
            return points;
        }
        #endregion #DataLoad
    }
}

Implements

Inheritance

See Also