最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

uitable

テーブルのユーザー インターフェイス コンポーネントの作成

説明

uit = uitable は、現在の Figure 内にテーブルのユーザー インターフェイス コンポーネントを作成し、Table UI コンポーネント オブジェクトを返します。利用可能な Figure がない場合は、MATLAB® が関数 figure を呼び出して Figure を作成します。

uit = uitable(Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、テーブル UI コンポーネントのプロパティ値を指定します。

uit = uitable(parent) は、指定された親コンテナー内にテーブルを作成します。親コンテナーには、関数 figure または関数 uifigure で作成された Figure か、パネルなどの子コンテナーを指定できます。uitable のプロパティの値は、関数 figure で作成されたアプリと関数 uifigure で作成されたアプリで多少異なります。詳細については、名前と値のペアの引数を参照してください。

uit = uitable(parent,Name,Value) は、親コンテナーと 1 つ以上のプロパティ値を指定します。

すべて折りたたむ

R2018a 以降、table 配列データをテーブル UI コンポーネント内に表示できます。この型のデータは、関数 uifigure で作成された Figure 内にテーブル UI コンポーネントがある場合にのみサポートされます。App Designer では、このタイプの Figure がアプリの作成に使用されます。

ファイルからデータを読み取るために関数 readtable を呼び出すことで、table 配列 t を作成します。4 つの変数と 15 の行を t から選択します。

t = readtable('patients.xls');
vars = {'Age','Systolic','Diastolic','Smoker'};
t = t(1:15,vars);

テーブル UI コンポーネントを作成し、t をデータとして指定します。

fig = uifigure;
uit = uitable(fig,'Data',t);

R2019a 以降、Data プロパティに table 配列データが格納されたテーブル UI コンポーネントの列を並べ替えることができます。この型のデータは、関数 uifigure で作成された Figure 内にテーブル UI コンポーネントがある場合にのみサポートされます。App Designer では、このタイプの Figure がアプリの作成に使用されます。

table 配列データを表示し、ユーザーが列の並べ替えやセルの編集を行ったときにプロットを更新します。

まず、tsunamisData.m というプログラム ファイルを作成します。プログラム ファイル内で次を行います。

  • 関数 readtable を呼び出して table 配列を作成します。

  • Figure に表示して並べ替えと編集が可能な、テーブル UI コンポーネントを作成します。table 配列をコンポーネントの Data プロパティに格納します。

  • ユーザーがテーブル UI コンポーネントで列の並べ替えやセルの編集を行ったときに DisplayData プロパティを使用してプロットを更新する、DisplayDataChangedFcn コールバックを指定します。

function tsunamisData
t = readtable('tsunamis.xlsx');
vars = {'Year','MaxHeight','Latitude','Longitude'};
t = t(1:20,vars);

fig = uifigure;
fig.Position(3:4) = [822 360];

uit = uitable(fig);
uit.Data = t;
uit.ColumnSortable = [false true true true];
uit.ColumnEditable = true;
uit.Position(3) = 375;
uit.DisplayDataChangedFcn = @updatePlot;

ax = uiaxes(fig);
ax.Position(1) = 415;
ax.YLabel.String = 'Max Height';
x = t.Year;
y = t.MaxHeight;
area(ax,x,y)

    function updatePlot(src,event)
        t = uit.DisplayData;
        x = t.Year;
        y = t.MaxHeight;
        area(ax,x,y)
    end

end

並べ替え可能な列は、マウスのカーソルを合わせるとヘッダーに矢印が表示されます。並べ替え可能な列を探してテーブルを並べ替えます。表示されるデータとプロットが並べ替え後に更新されることに注目してください。

R2019b 以降、関数uistyleおよび関数addStyleを使用して、テーブル UI コンポーネントの行、列またはセルにスタイルを追加できます。スタイルは、関数 uifigure を使用して作成された Figure 内にテーブル UI コンポーネントがある場合にのみサポートされます。App Designer では、このタイプの Figure がアプリの作成に使用されます。

テーブル UI コンポーネント内の欠損値を含むセルのスタイルを設定します。この場合は、NaN 値をもつセルに黄色の背景色スタイルを追加します。

津波のサンプル データを table 配列としてワークスペースに読み取ります。次に、データを表示するテーブル UI コンポーネントを作成します。

tdata = readtable('tsunamis.xlsx');
vars = {'Year','Month','Day','Hour','MaxHeight','Cause','EarthquakeMagnitude'};
tdata = tdata(1:100,vars);

fig = uifigure('Position',[500 500 750 350]);
uit = uitable(fig);
uit.Position = [20 20 710 310];
uit.Data = tdata;
uit.RowName = 'numbered';

関数 ismissing を使用して、欠損値を含むテーブル要素の logical 配列を取得します。NaN 値をもつ要素の行と列の添字を見つけます。最後に、黄色の背景色スタイルを作成し、テーブル UI コンポーネントの NaN 値を含むセルに追加します。

styleIndices = ismissing(tdata);
[row,col] = find(styleIndices);

s = uistyle('BackgroundColor','yellow');
addStyle(uit,s,'cell',[row,col]);

ランダムな整数からなる 3 行 10 列の配列を表示するテーブル UI コンポーネントを作成します。Data プロパティが表示対象の値を指定し、Position プロパティが Figure 内のテーブルの位置とサイズを指定します。

f = figure;
uit = uitable(f,'Data',randi(100,10,3),'Position',[20 20 262 204]);

テーブル UI コンポーネントには、異なるデータ型を複数列にわたって混在させて格納することができます。

空の Table UI コンポーネントを作成します。

f = figure;
uit = uitable(f);

Data プロパティの設定により、異なるデータ型が混在して含まれる cell 配列としてデータを格納します。その後、Position プロパティを設定して、データに合わせて位置とサイズを調整します。

d = {'Male',52,true;'Male',40,true;'Female',25,false};
uit.Data = d;
uit.Position = [20 20 258 78];

ColumnName プロパティを設定して、列見出しを説明的な名前に変更します。ユーザーが UI 内のデータを編集できるように、ColumnEditable プロパティを true に設定します。ユーザーが UI 内の値を変更すると、Data プロパティはその変更を反映して更新されます。

uit.ColumnName = {'Gender','Age','Authorized'};
uit.ColumnEditable = true;

入力引数

すべて折りたたむ

親コンテナー。関数 figure または関数 uifigure で作成された Figure か、子コンテナーとして指定します。

  • パネル、タブ、およびボタン グループは、いずれのタイプの Figure でもコンテナーとすることができる。

  • レイアウトのグリッドは、関数 uifigure で作成された Figure 内でのみコンテナーとすることができる。

名前と値のペアの引数

例: 'Data',[1 2 3; 4 5 6]

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は一重引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を指定できます。

名前と値のペアの引数を使用して、Table プロパティを設定できます。

  • App Designer で使用できるプロパティのリストと、関数 uifigure によるアプリの作成については、App Designer の Table のプロパティ を参照してください。

  • GUIDE で使用できるプロパティのリストと、関数 figure によるアプリの作成については、GUIDE の Table のプロパティ を参照してください。

R2008a で導入