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.1.dll
NuGet Packages: DevExpress.WindowsDesktop.Wpf.Charts, DevExpress.Wpf.Charts
Declaration
public abstract class Diagram :
ChartElement,
IDiagram,
IChartDiagram,
IInteractiveElement,
IVisualChildOwner
Related API Members
The following members 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.
Example
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.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-create-a-2d-side-by-side-bar-chart-e1257.
<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>