Skip to main content

PieChartDataAdapter Class

The data adapter that provides data to generate Pie chart items.

Namespace: DevExpress.XtraMap

Assembly: DevExpress.XtraMap.v24.1.dll

NuGet Package: DevExpress.Win.Map

Declaration

[PieChartDataAdapter.PieBindingProperties]
public class PieChartDataAdapter :
    ChartDataSourceAdapter,
    IPieDataAdapter,
    IChartDataAdapter,
    IDataSourceDataAdapter,
    IDataAdapter,
    IDisposable

Example

The PieChartDataAdapter class is intended to automatically generate pie charts from a data source.

  1. Create the PieChartDataAdapter object, set its DataSourceAdapterBase.DataSource property and assign this data adapter to the VectorItemsLayer.Data property.

  2. Specify the following PieChartDataAdapter properties:

  3. Initialize the VectorItemsLayer.Colorizer property with a KeyColorColorizer object.

Note

The example uses a BingMapDataProvider to load image tiles. This provider requires you to set the BingMapDataProvider.BingKey property.

image

public Form1() {
    InitializeComponent();

    // Assign a PieChartDataAdapter object to Data.
    PieLayer.Data = CreateData();

    // Assign a KeyColorColorizer object to Colorizer.
    PieLayer.Colorizer = CreateColorizer();
}
// Create a pie chart data adapter and specify its parameters.   
IMapDataAdapter CreateData() {
    PieChartDataAdapter adapter = new PieChartDataAdapter() {
        DataSource = LoadDataFromXml(xmlFilepath),
        PieItemDataMember = "Name",
        ItemMinSize = 20,
        ItemMaxSize = 60
    };

    // Specify mappings.
    adapter.Mappings.Latitude = "CapitalLat";
    adapter.Mappings.Longitude = "CapitalLon";
    adapter.Mappings.PieSegment = "MedalClass";
    adapter.Mappings.Value = "Quantity";

    // Specify measure rules.
    adapter.MeasureRules = new MeasureRules();
    adapter.MeasureRules.RangeStops.Add(1);
    adapter.MeasureRules.RangeStops.Add(10);
    adapter.MeasureRules.RangeStops.Add(20);
    adapter.MeasureRules.RangeStops.Add(30);
    adapter.MeasureRules.RangeStops.Add(40);

    return adapter;
}
private DataTable LoadDataFromXml(string path) {
    DataSet ds = new DataSet();
    ds.ReadXml(path);
    DataTable table = ds.Tables[0];
    return table;
}
// Create a colirizer and specify its options.
MapColorizer CreateColorizer() {
    KeyColorColorizer colorizer = new KeyColorColorizer() {
        ItemKeyProvider = new ArgumentItemKeyProvider()
    };

    colorizer.Colors.Add(Color.FromArgb(255, 207, 98));
    colorizer.Colors.Add(Color.FromArgb(169, 181, 188));
    colorizer.Colors.Add(Color.FromArgb(233, 152, 118));

    colorizer.Keys.Add(new ColorizerKeyItem() { Key = 1, Name = "Gold" });
    colorizer.Keys.Add(new ColorizerKeyItem() { Key = 2, Name = "Silver" });
    colorizer.Keys.Add(new ColorizerKeyItem() { Key = 3, Name = "Bronze" });

    return colorizer;
}

Implements

See Also