Back to Devexpress

PieSegment Class

windowsforms-devexpress-dot-xtramap-7699e967.md

latest6.4 KB
Original Source

PieSegment Class

A segment of a pie chart item.

Namespace : DevExpress.XtraMap

Assembly : DevExpress.XtraMap.v25.2.dll

NuGet Package : DevExpress.Win.Map

Declaration

csharp
public class PieSegment :
    MapSegmentBase,
    ILocatableRenderItem,
    IMapChartDataItem,
    IMapValueDataItem,
    IMapDataItem,
    IKeyColorizerElement,
    IColorizerElement,
    IInteractiveElementProvider,
    ISupportToolTip,
    IHitTestableElement,
    IMapItemAttributeOwner
vb
Public Class PieSegment
    Inherits MapSegmentBase
    Implements ILocatableRenderItem,
               IMapChartDataItem,
               IMapValueDataItem,
               IMapDataItem,
               IKeyColorizerElement,
               IColorizerElement,
               IInteractiveElementProvider,
               ISupportToolTip,
               IHitTestableElement,
               IMapItemAttributeOwner

The following members return PieSegment objects:

Remarks

Instances of the PieSegment class are stored in the PieSegmentCollection returned by the MapPie.Segments property.

Example

The following example illustrates how to manually add a MapPie object to the Map control.

csharp
using System;
using System.Drawing;
using System.Windows.Forms;
using DevExpress.XtraMap;

namespace MapPieItem {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e) {
            // Create a layer to show vector items.
            VectorItemsLayer itemsLayer = new VectorItemsLayer() {
                Data = CreateData(),
                Colorizer = CreateColorizer()
            };
            mapControl1.Layers.Add(itemsLayer);

            // Show a color legend.
            mapControl1.Legends.Add(new ColorListLegend() { Layer = itemsLayer });
        }

        // Create a storage to provide data for the vector layer.
        private IMapDataAdapter CreateData() {
            MapItemStorage storage = new MapItemStorage();

            // Create a pie with several segments.
            MapPie pie = new MapPie();
            pie.Size = 200;
            pie.Segments.Add(new PieSegment() { Argument = "A", Value = 100 });
            pie.Segments.Add(new PieSegment() { Argument = "B", Value = 50 });
            pie.Segments.Add(new PieSegment() { Argument = "C", Value = 120 });
            storage.Items.Add(pie);

            return storage;
        }

        // Create a colorizer to provide colors for bubble items.    
        private MapColorizer CreateColorizer() {
            KeyColorColorizer colorizer = new KeyColorColorizer();

            // Add colors to the colorizer.
            colorizer.Colors.Add(Color.Coral);
            colorizer.Colors.Add(Color.Orange);
            colorizer.Colors.Add(Color.LightBlue);

            colorizer.Keys.Add(new ColorizerKeyItem() { Key = "A", Name = "Category A" });
            colorizer.Keys.Add(new ColorizerKeyItem() { Key = "B", Name = "Category B" });
            colorizer.Keys.Add(new ColorizerKeyItem() { Key = "C", Name = "Category C" });

            // Load color indexes from bubbles via the 'Color' attribute
            colorizer.ItemKeyProvider = new ArgumentItemKeyProvider();

            return colorizer;
        }
    }

}
vb
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports DevExpress.XtraMap

Namespace MapPieItem
    Partial Public Class Form1
        Inherits Form

        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
            ' Create a layer to show vector items.
            Dim itemsLayer As New VectorItemsLayer() With {.Data = CreateData(), .Colorizer = CreateColorizer()}
            mapControl1.Layers.Add(itemsLayer)

            ' Show a color legend.
            mapControl1.Legends.Add(New ColorListLegend() With {.Layer = itemsLayer})
        End Sub

        ' Create a storage to provide data for the vector layer.
        Private Function CreateData() As IMapDataAdapter
            Dim storage As New MapItemStorage()

            ' Create a pie with several segments.
            Dim pie As New MapPie()
            pie.Size = 200
            pie.Segments.Add(New PieSegment() With {.Argument = "A", .Value = 100})
            pie.Segments.Add(New PieSegment() With {.Argument = "B", .Value = 50})
            pie.Segments.Add(New PieSegment() With {.Argument = "C", .Value = 120})
            storage.Items.Add(pie)

            Return storage
        End Function

        ' Create a colorizer to provide colors for bubble items.    
        Private Function CreateColorizer() As MapColorizer
            Dim colorizer As New KeyColorColorizer()

            ' Add colors to the colorizer.
            colorizer.Colors.Add(Color.Coral)
            colorizer.Colors.Add(Color.Orange)
            colorizer.Colors.Add(Color.LightBlue)

            colorizer.Keys.Add(New ColorizerKeyItem() With {.Key = "A", .Name = "Category A"})
            colorizer.Keys.Add(New ColorizerKeyItem() With {.Key = "B", .Name = "Category B"})
            colorizer.Keys.Add(New ColorizerKeyItem() With {.Key = "C", .Name = "Category C"})

            ' Load color indexes from bubbles via the 'Color' attribute
            colorizer.ItemKeyProvider = New ArgumentItemKeyProvider()

            Return colorizer
        End Function
    End Class

End Namespace

Implements

IColorizerElement

Inheritance

Object MapSegmentBase PieSegment

See Also

PieSegment Members

DevExpress.XtraMap Namespace