Diagram Class

Represents the base class for classes that provide diagrams functionality for a chart control.

Namespace: DevExpress.Xpf.Charts

Assembly: DevExpress.Xpf.Charts.v20.2.dll

Declaration

public abstract class Diagram :
    ChartElement,
    IDiagram,
    IChartDiagram,
    IInteractiveElement,
    IVisualChildOwner,
    ISeriesTemplateContainer
Public MustInherit Class Diagram
    Inherits ChartElement
    Implements IDiagram,
               IChartDiagram,
               IInteractiveElement,
               IVisualChildOwner,
               ISeriesTemplateContainer

The following members accept/return Diagram objects:

Remarks

Each group of similar series types demands its own associated diagram type.

The Diagram class serves as a base for classes which provide common functionality for different diagram types available for a chart control. The Diagram class implements the base diagram functionality that is common to all diagram types, and possesses a collection of Diagram.Series that will represent this diagram.

Note that a single diagram type can only correspond to a single chart control instance.

For more information, refer to Diagram and Series Type Compatibility.

Examples

The following example demonstrates how to create a 2D Side-by-Side Bar. To do this, it is necessary to assign the ChartControl.Diagram property to XYDiagram2D, and then add two series with points to the diagram's Diagram.Series collection.

View Example

<Window x:Class="SideBySideBar2DChart.Window1" 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts" 
        Title="Window1" Height="350" Width="620">
    <Grid>
        <dxc:ChartControl Name="chartControl1">
            <dxc:ChartControl.Diagram>
                <dxc:XYDiagram2D>
                    <dxc:XYDiagram2D.Series>
                        <dxc:BarSideBySideSeries2D DisplayName="First Series" BarWidth="0.5">
                            <!--region #Model-->
                            <dxc:BarSideBySideSeries2D.Model>
                                <dxc:Quasi3DBar2DModel />
                            </dxc:BarSideBySideSeries2D.Model>
                            <!--endregion #Model-->
                            <dxc:BarSideBySideSeries2D.Points>
                                <dxc:SeriesPoint Argument="A" Value="1" />
                                <dxc:SeriesPoint Argument="B" Value="2" />
                                <dxc:SeriesPoint Argument="C" Value="3" />
                                <dxc:SeriesPoint Argument="D" Value="4" />
                            </dxc:BarSideBySideSeries2D.Points>
                        </dxc:BarSideBySideSeries2D>
                        <dxc:BarSideBySideSeries2D DisplayName="Second Series" BarWidth="0.5">
                            <!--region #Model2-->
                            <dxc:BarSideBySideSeries2D.Model>
                                <dxc:Quasi3DBar2DModel />
                            </dxc:BarSideBySideSeries2D.Model>
                            <!--endregion #Model2-->
                            <dxc:BarSideBySideSeries2D.Points>
                                <dxc:SeriesPoint Argument="A" Value="4" />
                                <dxc:SeriesPoint Argument="B" Value="3" />
                                <dxc:SeriesPoint Argument="C" Value="2" />
                                <dxc:SeriesPoint Argument="D" Value="1" />
                            </dxc:BarSideBySideSeries2D.Points>
                        </dxc:BarSideBySideSeries2D>
                    </dxc:XYDiagram2D.Series>
                </dxc:XYDiagram2D>
            </dxc:ChartControl.Diagram>
            <dxc:ChartControl.Legend>
                <dxc:Legend />
            </dxc:ChartControl.Legend>
        </dxc:ChartControl>
    </Grid>
</Window>
See Also