MATLAB table からのテーブルの作成
MATLAB® table から DOM API テーブルを作成するには、mlreportgen.dom.MATLABTable
オブジェクトを使用します。MATLAB table の DOM 表現は、DOM の形式的 table の構造をもちます。形式的テーブルの作成を参照してください。MATLABTable
のヘッダーには、MATLAB table の列名が含まれます。MATLABTable
の本体には、MATLAB table の行と要素が含まれます。
MATLAB の table が行名をもつ場合、MATLABTable
オブジェクトの最初の列に行名が含まれます。MATLAB では、行名の列はラベルをもちません。MATLABTable
オブジェクトでは、ヘッダーの最初の要素のコンテンツを変更することにより、行名列のラベルを指定できます。MATLABTable
オブジェクトの RowNamesRule
プロパティを true
に設定することにより、行名列のラベルの下の行を指定できます。
レポート内で作成可能な他の種類のテーブルについては、作成するテーブルの種類の選択を参照してください。
MATLAB table からのテーブルの作成
この例では、行名をもつ MATLAB table から DOM table を作成します。この例では、DOM table を含む 2 つのレポートを生成します。最初のレポートでは、テーブルの行名の列にラベルがありません。2 番目のレポートでは、行名の列にラベルがあります。
患者の年齢、体重、身長を表示する MATLAB table を作成します。RowNames
オプションを使用して、患者の姓で各行を識別します。
LastName = {'Sanchez';'Johnson';'Lee';'Diaz';'Brown'}; Age = [38;43;38;40;49]; Weight = [176;163;131;133;119]; Height = [71;69;64;67;64]; mltable = table(Age,Weight,Height,'RowNames',LastName)
mltable=5×3 table
Age Weight Height
___ ______ ______
Sanchez 38 176 71
Johnson 43 163 69
Lee 38 131 64
Diaz 40 133 67
Brown 49 119 64
この MATLAB table には 5 つの行と 3 つの列があります。行名は table の一部ではありません。それらは table のプロパティに格納されます。
MATLAB
table から mlreportgen.dom.MATLABTable
オブジェクトを作成します。
import mlreportgen.dom.*
mltableObj = MATLABTable(mltable);
ドキュメントを作成し、MATLABTable
オブジェクトをドキュメントに追加します。ドキュメントを閉じて表示します。
d = Document('MyMATLABTable1','docx'); append(d,mltableObj); close(d); rptview(d);
生成されたレポートのテーブルは次のようになります。
DOM table は、ヘッダーと本体をもつ形式的テーブルです。このテーブルには 5 つの行と 4 つの列があります。最初の列は、MATLAB table の行名で構成されています。
レポートを再度生成します。今回は行名の列にラベルを使用します。ラベルを指定するには、テーブル ヘッダー行の最初のエントリ内の空のテキストをラベル テキストに置き換えます。ラベルの下に線を引くには、MATLABTable
オブジェクトの RowNamesRule
プロパティを true
に設定します。
LastName = {'Sanchez';'Johnson';'Lee';'Diaz';'Brown'}; Age = [38;43;38;40;49]; Weight = [176;163;131;133;119]; Height = [71;69;64;67;64]; mltable = table(Age,Weight,Height,'RowNames',LastName); import mlreportgen.dom.* mltableObj = MATLABTable(mltable); th = mltableObj.Header; thentry11 = entry(th,1,1); thentry11.Children(1).Children(1).Content = 'Names'; mltableObj.RowNamesRule = true; d = Document('MyMATLABTable2','docx'); append(d,mltableObj); close(d); rptview(d);
生成されたレポートのテーブルは次のようになります。
MATLAB table から作成されたテーブルの書式設定
既定では、MATLABTable
オブジェクトから生成されたテーブルは、MATLAB のテーブルのように書式設定されます。テーブルの外観をカスタマイズするには、他のタイプのテーブルに使用するのと同じ方法を使用できます。
既定の HTML、Word、または PDF のテンプレートのスタイル シートで既定のスタイルを更新します。
MATLABTable
オブジェクトの既定のStyleName
は"rgMATLABTable"
です。StyleName
プロパティをカスタム スタイルに設定します。書式プロパティを使用するか、テーブルまたはテーブル セクションでオブジェクトを書式設定します。
テーブルの書式設定を参照してください。
MATLAB Table
のセクションの書式設定
この例では、MATLAB table から作成された DOM テーブルのセクションを書式設定する方法を示します。
テーブル ヘッダーの書式設定
この例では、列見出しをイタリックにします。
ヘッダーにアクセスするには、mlreportgen.dom.MATLABTable
オブジェクトの Header
プロパティを使用します。この例では、ヘッダーを表す mlreportgen.dom.TableHeader
オブジェクトの Style
プロパティに mlreportgen.dom.Italic
書式オブジェクトを追加します。
import mlreportgen.dom.* d = Document('myMATLABTable','pdf'); Age = [38;43;38;40;49]; Height = [71;69;64;67;64]; Weight = [176;163;131;133;119]; mltable = table(Age,Weight,Height); mltableObj = MATLABTable(mltable); mltableObj.Header.Style = [mltableObj.Header.Style {Italic(true)}]; append(d,mltableObj); close(d); rptview(d);
テーブル本体の書式設定
この例では、テーブル本体の最初の行のエントリを青色にします。
テーブル本体にアクセスするには、mlreportgen.dom.MATLABTable
オブジェクトの Body
プロパティを使用します。本体の行にアクセスするには、行を表す mlreportgen.dom.TableRow
オブジェクトの row
メソッドを使用します。この例では、最初の行を表す TableRow
オブジェクトの Style
プロパティに mlreportgen.dom.Color
書式オブジェクトを追加します。
import mlreportgen.dom.* d = Document('myMATLABTable','pdf'); Age = [38;43;38;40;49]; Height = [71;69;64;67;64]; Weight = [176;163;131;133;119]; mltable = table(Age,Weight,Height); mltableObj = MATLABTable(mltable); tbody = mltableObj.Body; row1 = row(tbody,1); row1.Style = [row1.Style {Color('blue')}]; append(d,mltableObj); close(d); rptview(d);