Main Content

グラフ プロット データ ヒントに対するノード プロパティの追加

この例では、GraphPlot データ ヒントをカスタマイズして、グラフの追加ノード プロパティを表示する方法を説明します。

データ ヒントを伴う GraphPlot オブジェクトのプロット

ランダムな有向グラフの GraphPlot グラフィックス オブジェクトを作成します。グラフに wifi ノード プロパティを 1 つ追加します。

rng default
G = digraph(sprandn(20, 20, 0.05));
G.Nodes.wifi = randi([0 1], 20, 1) == 1;
h = plot(G);

グラフにデータ ヒントを追加します。データ ヒントを使うと、グラフ プロット内でノードを選択して、そのノードのプロパティを表示できます。

dt = datatip(h,4,3);

既定では、無向グラフのデータ ヒントにはノード番号と次数が表示されます。有向グラフの場合、表示にはノード番号、入次数、および出次数が含まれます。

データ ヒントの既存データのカスタマイズ

適切なオブジェクト プロパティのデータ行を追加、編集、削除して、グラフィックス オブジェクトのデータ ヒントの表示をカスタマイズできます。この GraphPlot オブジェクトの場合:

  • GraphPlot オブジェクトのハンドルは h です。

  • h.DataTipTemplate プロパティには、データ ヒントの表示を制御するオブジェクトが含まれます。

  • h.DataTipTemplate.DataTipRows プロパティは、データ ヒントのデータを DataTipTextRow オブジェクトとして保持します。

  • DataTipTextRow オブジェクトには LabelValue の各プロパティがあります。これらのプロパティを変更して、データ ヒントに表示されるラベルやデータを調整できます。

"City" と表示されるよう、データ ヒントの Node の行のラベルを変更します。

h.DataTipTemplate.DataTipRows(1).Label = "City";

これで、データ ヒントには都市番号が表示されます。

データ ヒントへのデータの追加

関数 dataTipTextRow は、DataTipRows プロパティに挿入できるオブジェクトとして新しいデータ行を作成します。dataTipTextRow を使用して、グラフの G.Nodes.wifi プロパティの値を参照する、"WiFi" というラベルが付けられたデータ ヒントの新しいデータ行を作成します。このデータ ヒントの行を、最後の行として DataTipRows プロパティに追加します。

row = dataTipTextRow('WiFi',G.Nodes.wifi);
h.DataTipTemplate.DataTipRows(end+1) = row;

これで、データ ヒントの表示には各ノードの Wi-Fi® 値が含められます。

データ ヒントからのデータの削除

データ ヒントからデータ行を削除するには、DataTipRows プロパティにインデックスを指定し、その行に空行列 [] を代入することができます。これは、行列から行や列を削除するために使用する方法と同じです。

データ ヒントから入次数と出次数の行を削除します。これらはデータ ヒント表示の 2 行目と 3 行目に現れるため、DataTipRows プロパティの 2 行目と 3 行目に対応します。

h.DataTipTemplate.DataTipRows(2:3) = [];

これで、データ ヒントには都市番号と Wi-Fi の状態のみが表示されます。

参考

| | |

関連するトピック