Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

How to: Plot Each XY-Series on a Separate Pane

  • 2 minutes to read

This example demonstrates the capability of XY-series to be plotted individually in a multiple pane chart.

To accomplish this task, it is necessary to bind each XY-series (e.g., AreaSeries2D, LineSeries2D, BarSideBySideSeries2D objects) to a corresponding pane using the XYDiagram2D.SeriesPane attached property.

<Window x:Class="WpfApplication.MainWindow"
        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="MainWindow" Height="350" Width="525" >
    <Grid>
        <dxc:ChartControl>           
            <dxc:ChartControl.Diagram>
                <dxc:XYDiagram2D EnableAxisXNavigation="True">
                    <dxc:XYDiagram2D.PanesPanel>
                        <ItemsPanelTemplate>
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="2*"/>
                                    <RowDefinition Height="1.3*"/>
                                    <RowDefinition Height="1.7*"/>
                                </Grid.RowDefinitions>
                            </Grid>
                        </ItemsPanelTemplate>
                    </dxc:XYDiagram2D.PanesPanel>
                    <dxc:XYDiagram2D.DefaultPane>
                        <dxc:Pane x:Name="pane1" Grid.Row="0">
                            <dxc:Pane.AxisXScrollBarOptions>
                                <dxc:ScrollBarOptions Visible="False" />
                            </dxc:Pane.AxisXScrollBarOptions>
                        </dxc:Pane>
                    </dxc:XYDiagram2D.DefaultPane>
                    <dxc:XYDiagram2D.Panes>
                        <dxc:Pane x:Name="pane2" Grid.Row="1">
                            <dxc:Pane.AxisXScrollBarOptions>
                                <dxc:ScrollBarOptions Visible="False" />
                            </dxc:Pane.AxisXScrollBarOptions>
                        </dxc:Pane>
                        <dxc:Pane x:Name="pane3" Grid.Row="2"/>
                    </dxc:XYDiagram2D.Panes>
                    <dxc:XYDiagram2D.AxisX>
                        <dxc:AxisX2D Visible="True" GridSpacing="2"  Interlaced="True">
                            <dxc:AxisX2D.Range>
                                <dxc:AxisRange SideMarginsEnabled="False" />
                            </dxc:AxisX2D.Range>
                        </dxc:AxisX2D>
                    </dxc:XYDiagram2D.AxisX>
                    <dxc:XYDiagram2D.Series>
                        <dxc:LineSeries2D ArgumentScaleType="Numerical" >
                            <dxc:LineSeries2D.Label>
                                <dxc:SeriesLabel dxc:MarkerSeries2D.Angle="90"/>
                            </dxc:LineSeries2D.Label>
                            <dxc:LineSeries2D.Points>
                                <dxc:SeriesPoint Value="16.48" Argument="2000"/>
                                <dxc:SeriesPoint Value="23.78" Argument="2001"/>
                                <dxc:SeriesPoint Value="17.74" Argument="2002"/>
                                <dxc:SeriesPoint Value="34.4"  Argument="2003"/>
                                <dxc:SeriesPoint Value="52.5"  Argument="2004"/>
                            </dxc:LineSeries2D.Points>
                        </dxc:LineSeries2D>
                        <dxc:AreaSeries2D  ArgumentScaleType="Numerical" MarkerVisible="False" 
                                           dxc:XYDiagram2D.SeriesPane="{Binding  ElementName=pane2}">
                            <dxc:AreaSeries2D.Label>
                                <dxc:SeriesLabel Visible="False" />
                            </dxc:AreaSeries2D.Label>
                            <dxc:AreaSeries2D.Points>
                                <dxc:SeriesPoint Argument="2000" Value="22.956" />
                                <dxc:SeriesPoint Argument="2001" Value="48.252" />
                                <dxc:SeriesPoint Argument="2002" Value="76.617" />
                                <dxc:SeriesPoint Argument="2003" Value="42.804" />
                                <dxc:SeriesPoint Argument="2004" Value="25.639" />
                            </dxc:AreaSeries2D.Points>
                        </dxc:AreaSeries2D>
                        <dxc:BarSideBySideSeries2D  ArgumentScaleType="Numerical" BarWidth="1.3"
                                                    dxc:XYDiagram2D.SeriesPane="{Binding ElementName=pane3}" >
                            <dxc:BarSideBySideSeries2D.Label>
                                <dxc:SeriesLabel Visible="False" />
                            </dxc:BarSideBySideSeries2D.Label>
                            <dxc:BarSideBySideSeries2D.Points>
                                <dxc:SeriesPoint Argument="2000" Value="12.956" />
                                <dxc:SeriesPoint Argument="2001" Value="65.296" />
                                <dxc:SeriesPoint Argument="2002" Value="24.365" />
                                <dxc:SeriesPoint Argument="2003" Value="62.187" />
                                <dxc:SeriesPoint Argument="2004" Value="26.835" />
                            </dxc:BarSideBySideSeries2D.Points>
                        </dxc:BarSideBySideSeries2D>
                    </dxc:XYDiagram2D.Series>
                </dxc:XYDiagram2D>
            </dxc:ChartControl.Diagram>
        </dxc:ChartControl>
    </Grid>
</Window>