バージョン

チャートの同期

XamDataChart™ コントロールでは、同期とは複数チャート間でズーム、パンニング、十字線イベントを組み合わせることです。複数のチャート コントロールを水平 (X 軸に沿って)、垂直 (Y 軸に沿って)、または両方に同期できます。一連のチャートを同期させたい場合、 SyncChannel オブジェクトの プロパティに同じ名前を指定し、チャートを水平、垂直、または両方に同期するかを指定します。

同期プロパティ

プロパティ名 タイプ 説明

文字列

複数のチャート コントロールをリンク設定するための同期チャネルの識別子を決定します。

bool

同期チャネルにリンクされたチャート コントロールを垂直方向に同期するかどうかを決定します。

bool

同期チャネルにリンクされたチャート コントロールを水平方向に同期するかどうかを決定します。

コード例

以下のサンプルでは、4 つの XamDataChart コントロールですべての可能な同期化の組み合わせを紹介します。最初のチャートは水平と垂直に二番目と三番目のチャートとそれぞれ同期されています。四番目のチャートは、他のチャートと同期されていません。

XAML の場合:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="1*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions >
        <ColumnDefinition Width="1*" />
        <ColumnDefinition Width="1*" />
    </Grid.ColumnDefinitions>
    <ig:XamDataChart x:Name="DataChart1" Grid.Row="0"
			HorizontalZoomable="True" VerticalZoomable="True">
        <ig:SyncManager.SyncSettings>
            <ig:SyncSettings SyncChannel="syncGroup1" SynchronizeHorizontally="True" SynchronizeVertically="True"/>
            </ig:SyncManager.SyncSettings>
    </ig:XamDataChart>
    <ig:XamDataChart x:Name="DataChart2" Grid.Row="0" Grid.Column="1"
                        HorizontalZoomable="True" VerticalZoomable="True">
        <ig:SyncManager.SyncSettings>
            <ig:SyncSettings SyncChannel="syncGroup1" SynchronizeHorizontally="False" SynchronizeVertically="True"/>
            </ig:SyncManager.SyncSettings>
    </ig:XamDataChart>
    <ig:XamDataChart x:Name="DataChart3" Grid.Row="1"
                       HorizontalZoomable="True" VerticalZoomable="True">
        <ig:SyncManager.SyncSettings>
            <ig:SyncSettings SyncChannel="syncGroup1" SynchronizeHorizontally="True" SynchronizeVertically="False"/>
        </ig:SyncManager.SyncSettings>
    </ig:XamDataChart>
    <ig:XamDataChart x:Name="DataChart4" Grid.Row="1" Grid.Column="1"
                       HorizontalZoomable="True" VerticalZoomable="True">
        <ig:SyncManager.SyncSettings>
            <ig:SyncSettings SyncChannel="syncGroup2" SynchronizeHorizontally=" SynchronizeVertically="False"/>
        </ig:SyncManager.SyncSettings>
    </ig:XamDataChart>
</Grid>

Visual Basic の場合:

Dim sync1 As New SyncSettings()
sync1.SyncChannel = "syncGroup1"
sync1.SynchronizeHorizontally = true
sync1.SynchronizeVertically = true
SyncManager.SetSyncSettings(DataChart1, sync1)

DataChart1.SyncChannel = "syncGroup1"
DataChart1.SynchronizeHorizontally = true
DataChart1.SynchronizeVertically = true

Dim sync2 As New SyncSettings()
sync2.SyncChannel = "syncGroup1"
sync2.SynchronizeHorizontally = false
sync2.SynchronizeVertically = true
SyncManager.SetSyncSettings(DataChart2, sync2)

DataChart2.SyncChannel = "syncGroup1"
DataChart2.SynchronizeHorizontally = false
DataChart2.SynchronizeVertically = true

Dim sync3 As New SyncSettings()
sync3.SyncChannel = "syncGroup1"
sync3.SynchronizeHorizontally = true
sync3.SynchronizeVertically = false
SyncManager.SetSyncSettings(DataChart3, sync3)

DataChart3.SyncChannel = "syncGroup1"
DataChart3.SynchronizeHorizontally = true
DataChart3.SynchronizeVertically = false

Dim sync4 As New SyncSettings()
sync4.SyncChannel = "syncGroup1"
sync4.SynchronizeHorizontally = false
sync4.SynchronizeVertically = false
SyncManager.SetSyncSettings(DataChart4, sync4)

DataChart4.SyncChannel = "syncGroup1"
DataChart4.SynchronizeHorizontally = false
DataChart4.SynchronizeVertically = false

C# の場合:

var sync1 = new SyncSettings();
sync1.SyncChannel = "syncGroup1";
sync1.SynchronizeHorizontally = true;
sync1.SynchronizeVertically = true;
SyncManager.SetSyncSettings(DataChart1, sync1);

DataChart1.SyncChannel = "syncGroup1";
DataChart1.SynchronizeHorizontally = true;
DataChart1.SynchronizeVertically = true;

var sync2 = new SyncSettings();
sync2.SyncChannel = "syncGroup1";
sync2.SynchronizeHorizontally = false;
sync2.SynchronizeVertically = true;
SyncManager.SetSyncSettings(DataChart2,sync2);

DataChart2.SyncChannel = "syncGroup1";
DataChart2.SynchronizeHorizontally = false;
DataChart2.SynchronizeVertically = true;

var sync3 = new SyncSettings();
sync3.SyncChannel = "syncGroup1";
sync3.SynchronizeHorizontally = true;
sync3.SynchronizeVertically = false;
SyncManager.SetSyncSettings(DataChart3,sync3);

DataChart3.SyncChannel = "syncGroup1";
DataChart3.SynchronizeHorizontally = true;
DataChart3.SynchronizeVertically = false;

var sync4 = new SyncSettings();
sync4.SyncChannel = "syncGroup1";
sync4.SynchronizeHorizontally = false;
sync4.SynchronizeVertically = false;
SyncManager.SetSyncSettings(DataChart4,sync4);

DataChart4.SyncChannel = "syncGroup1";
DataChart4.SynchronizeHorizontally = false;
DataChart4.SynchronizeVertically = false;

以下の画像は、すべての使用可能な同期の組み合わせを使用した 4 つの XamDataChart コントロールで、ユーザーが最初のチャートのプロット領域の特定の領域にズームインしようとするとどのようになるかを示しています。

xamDataChart RT Chart Synchronization 01.png

関連コンテンツ