Main Content

カスタム データ ヒントの作成

データ点にカーソルを合わせると、データ ヒントが表示されます。既定の設定では、個々のデータ点に対応するチャートの作成中に指定されたデータがデータ ヒントに含まれます。ただし、一部のタイプのチャートでは、ラベルの変更、新しい行の追加など、データ ヒントに表示される情報をカスタマイズすることができます。

これらのカスタマイズをサポートするチャートには DataTipTemplate プロパティがあります。たとえば、関数 plot で作成された Line オブジェクトなどです。

ラベルの変更と行の追加

散布図でデータ ヒントの内容を変更します。まず、サンプルの事故データを読み込んで散布図を作成します。次に、対話的に、または関数 datatip を使用してデータ ヒントを作成します。既定では、データ点の座標がデータ ヒントに表示されます。

load("accidents.mat","hwydata","statelabel","hwyidx")
s = scatter(hwydata(:,5),hwydata(:,4));
dt = datatip(s,11246.7,1493);

Figure contains an axes object. The axes object contains an object of type scatter.

プロットされたオブジェクトの DataTipTemplate プロパティにアクセスして各行の Label プロパティを設定することにより、データ ヒントのラベルを XY から Drivers (in thousands)Fatalities に変更します。

s.DataTipTemplate.DataTipRows(1).Label = "Drivers (in thousands)";
s.DataTipTemplate.DataTipRows(2).Label = "Fatalities"; 

データ ヒントに新しい行を追加します。ラベルには、State および Highway Index を使用します。値には、ワークスペースの変数 statelabel および hwyidx に含まれている州名とハイウェイ インデックスを使用します。

dtRows = [dataTipTextRow("State",statelabel),...
    dataTipTextRow("Highway Index",hwyidx)];
s.DataTipTemplate.DataTipRows(end+1:end+2) = dtRows;

Figure contains an axes object. The axes object contains an object of type scatter.

データ ヒントでの table 値の表示

散布図のデータ ヒントの内容を、table の追加の値を含めるよう変更します。最初に、患者データのサンプル スプレッドシートから table を作成します。データをプロットします。次に、対話的に、または関数 datatip を使用してデータ ヒントを作成します。

tbl = readtable("patients.xls");
s = scatter(tbl,"Height","Weight");
dt = datatip(s,64,142);

ラベル Age を使用し、table の Age 列の値を表示する新しい行をデータ ヒントに追加します。

row = dataTipTextRow("Age",tbl.Age);
s.DataTipTemplate.DataTipRows(end+1) = row;

Figure contains an axes object. The axes object with xlabel Height, ylabel Weight contains an object of type scatter.

参考

| |

関連するトピック