Main Content

linkdata

チャート データの自動更新

説明

データ リンクを使用して、チャートとそのワークスペース変数を同期します。リンクされたチャートはワークスペース変数の変更に伴って自動更新され、ワークスペース変数はブラシ ツールによるチャートの変更に伴って自動更新されます。

関数 linkdata を使用して、または Figure ツール バーから [リンク プロット] ボタン を選択して、チャートとワークスペース変数をリンクします。

作成

説明

linkdata on は、現在の座標軸のデータ リンク モードをオンにします。

linkdata off は、データ リンク モードをオフにします。

linkdata は、データ リンク モードの 'on''off' を切り替えます。

linkdata showdialog[リンクされているプロットのデータ ソース] ダイアログ ボックスを開きます。この構文を使用して、チャートをワークスペース変数と対話的に同期させます。

linkdata(fig,___) は、指定された Figure のデータ リンク モードを指定します。オプション 'on' および 'off' は一重引用符または二重引用符で囲みます。たとえば、linkdata(fig,'on') のようになります。

l = linkdata は、LinkData オブジェクトを作成します。この構文は、データ リンク モードをクエリするときに便利です。

l = linkdata(fig) は、指定された Figure の LinkData オブジェクトを作成します。

入力引数

すべて展開する

ターゲット Figure。Figure オブジェクトとして指定します。Figure を指定しない場合、現在の Figure のデータ リンクが有効または無効になります。

プロパティ

すべて展開する

この プロパティ は読み取り専用です。

データ リンク モード。'off' または 'on' として指定します。

すべて折りたたむ

棒グラフを作成し、データ リンクを有効にします。データ リンクにより、棒グラフがワークスペース内の変数 x および y と同期されます。

x = linspace(-5,5,11);
y = abs(x);
bar(x,y)
linkdata on

Bar chart. The bar at x = 0 has a height of 0.

y のいずれかの値を変更します。棒グラフがすぐに更新され、変更が反映されたことに注目してください。

y(6) = 4;

Updated bar chart. The bar at x = 0 has a height of 4.

linkdata とブラシ ツールを使用して、チャート内でワークスペースの値を選択して対話的に削除します。

プロットするデータを作成します。xy には 21 個の値があることに注意してください。

x = linspace(-5,5,21);
y = -abs(x);

lengthX = length(x)
lengthY = length(y)
lengthX =

    21


lengthY =

    21

データをプロットしてから、データ リンクとブラシの両方を有効にします。

scatter(x,y,'filled')
linkdata on
brush on

削除するデータ値を強調表示します。ブラシで選択したデータをチャートから削除するには、ブラシで選択した値を右クリックし、コンテキスト メニューから [削除] を選択します。

Scatter plot with seven brushed data values

チャートはデータ ソースにリンクしているため、チャートから値を削除すると、データ ソースからも削除されます。現在、xy には 14 個のデータ値のみが含まれていることに注意してください。

lengthX = length(x)
lengthY = length(y)
lengthX =

    14


lengthY =

    14

複素数にデータ リンクを使用します。複素数データをプロットする場合、データの実数部と虚数部は異なるワークスペース変数に対応しません。その結果、関数 linkdata は、x 軸と y 軸のデータ ソースを特定できません。複素数データをリンクするには、複素数データの実数部を x 成分、虚数部を y 成分として手動で指定しなければなりません。

まず、複素数データの行列を作成し、それらをプロットします。次に linkdata showdialog を呼び出して [リンクされているプロットのデータ ソース] ダイアログ ボックスを開きます。

z = eig(randn(20,20));
plot(z)
linkdata showdialog

Line plot

[X] および [Y] の下のテキスト ボックスに real(z) および imag(z) と入力して、データの実数部と虚数部を手動で指定します。

Linked plot data sources dialog box

これでチャートがデータ ソースにリンクされました。z を変更すると、プロットが更新されて新しいデータが反映されます。

ダイアログ ボックスを使用しない場合は、最初にデータ値をプロットするときにデータ ソースを指定できます。

z = eig(randn(20,20));
plot(z,'XDataSource','real(z)','YDataSource','imag(z)')
linkdata on

ヒント

  • linkdata がチャートのデータ ソースを明確に識別できない場合は、チャートとワークスペース変数との同期は行われません。linkdata を呼び出して、変数を変更してもチャートが更新されない場合は、linkdata showdialog を呼び出して [リンクされているプロットのデータ ソース] ダイアログ ボックスを開き、チャートをそのデータ ソースと手動でリンクします。

  • 関数 linkdata は、リンクされたデータ ソースとチャートを毎秒約 2 回更新します。データ値の変化を滑らかにアニメーション化するには、毎秒 2 回以下で実行されるループを作成します。詳細については、関数 pause を参照してください。

  • チャートがそのワークスペース変数と同期された後、チャートのデータ プロパティ (XData など) をプログラムによって変更しても、ワークスペース変数は更新されません。ワークスペース変数は、ブラシ ツールを使用して、プロットされたデータを対話的に変更した場合にのみ更新されます。

アルゴリズム

データ リンクは、チャートのデータ ソース プロパティ (XDataSource など) を使用して、チャートとそのワークスペース変数を関連付けます。Figure のデータ リンクをオンにすると、MATLAB® はワークスペース内の変数と Figure 内にプロットされたデータを比較します。一致が検出されると、MATLAB はその変数をチャートの適切なデータ ソース プロパティに割り当てます。

バージョン履歴

R2008a で導入