Skip to main content

How to: Show or Hide an Axis in a Multi-Pane Chart

The following sample demonstrates how to show (hide) an axis for a particular pane of the XYDiagram2D object.

To accomplish this task for a specific Axis2D object, it is necessary to add the VisibilityInPane instance to the collection returned by the Axis2D.VisibilityInPanes property.

Then, bind its VisibilityInPane.Pane property to a particular pane (in which you want to show or hide this axis) and set the VisibilityInPane.Visible property to True or False, as appropriate.

<Window x:Class="DXCharts_VisibilityInPane.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>
                    <dxc:XYDiagram2D.DefaultPane>
                        <dxc:Pane Name="defPane"/>
                    </dxc:XYDiagram2D.DefaultPane>
                    <dxc:XYDiagram2D.Panes>
                        <dxc:Pane Name="pane2" />
                    </dxc:XYDiagram2D.Panes>
                    <dxc:XYDiagram2D.AxisX>
                        <dxc:AxisX2D Name="axisX">
                            <dxc:AxisX2D.VisibilityInPanes>
                                <dxc:VisibilityInPane Pane="{Binding ElementName=defPane}" 
                                                                  Visible="False" />
                                <dxc:VisibilityInPane Pane="{Binding ElementName=pane2}" 
                                                                  Visible="True"/>
                            </dxc:AxisX2D.VisibilityInPanes>
                        </dxc:AxisX2D>
                    </dxc:XYDiagram2D.AxisX>
                    <dxc:XYDiagram2D.Series>
                        <dxc:BarSideBySideSeries2D>
                            <dxc:BarSideBySideSeries2D.Points>
                                <dxc:SeriesPoint Argument="a" Value="12" />
                                <dxc:SeriesPoint Argument="b" Value="4" />
                                <dxc:SeriesPoint Argument="c" Value="8" />
                            </dxc:BarSideBySideSeries2D.Points>
                        </dxc:BarSideBySideSeries2D>
                        <dxc:BarSideBySideSeries2D
                                   dxc:XYDiagram2D.SeriesPane="{Binding ElementName=pane2}" >
                            <dxc:BarSideBySideSeries2D.Points>
                                <dxc:SeriesPoint Argument="a" Value="1" />
                                <dxc:SeriesPoint Argument="b" Value="2" />
                                <dxc:SeriesPoint Argument="c" Value="3" />
                            </dxc:BarSideBySideSeries2D.Points>
                        </dxc:BarSideBySideSeries2D>
                    </dxc:XYDiagram2D.Series>
                </dxc:XYDiagram2D>
            </dxc:ChartControl.Diagram>
        </dxc:ChartControl>
    </Grid>
</Window>