tiledlayout
構文
説明
tiledlayout(
は、現在の Figure に複数のプロット (サブプロットとも呼ばれる) を表示するためのタイル表示チャート レイアウトを作成します。このレイアウトは、固定の m
,n
)m
行 n
列のタイル配置をもち、最大 m*n
個のプロットを表示できます。Figure がない場合、MATLAB® は Figure を作成し、レイアウトをその中に配置します。現在の Figure に既に座標軸またはレイアウトが含まれている場合、MATLAB は、その座標軸またはレイアウトを新しいレイアウトに置き換えます。
タイル表示チャート レイアウトには、Figure または親コンテナー全体をカバーする非表示のタイルのグリッドが含まれています。それぞれのタイルに、プロットを表示するための座標軸を含めることができます。レイアウトを作成した後、関数 nexttile
を呼び出して axes オブジェクトをレイアウト内に配置します。次に、プロット関数を呼び出して、座標軸にプロットします。
tiledlayout(
は、座標軸の任意の数値を保持できるレイアウトを作成します。当初は、レイアウト全体を埋める空のタイルが 1 つのみあります。後続の座標軸の配置を制御する配置の値を指定します。arrangement
)
"flow"
— Figure のサイズおよび座標軸の数に応じてリフローできる、座標軸のグリッドのレイアウトを作成します。"vertical"
— 座標軸の垂直スタックのレイアウトを作成します。 (R2023a 以降)"horizontal"
— 座標軸の水平スタックのレイアウトを作成します。 (R2023a 以降)
引数 arrangement
はかっこなしで指定できます。たとえば、tiledlayout vertical
の場合、座標軸の垂直スタックのレイアウトを作成します。
tiledlayout(___,
は、1 つ以上の名前と値のペアの引数を使用して、レイアウトの追加のオプションを指定します。オプションは他のすべての入力引数の後に指定します。たとえば、Name,Value
)tiledlayout(2,2,"TileSpacing","compact")
は、タイルの間隔を最小にして 2 行 2 列のレイアウトを作成します。プロパティの一覧については、TiledChartLayout のプロパティ を参照してください。
t = tiledlayout(___)
は、TiledChartLayout
オブジェクトを返します。レイアウトの作成後にプロパティを設定するには、t
を使用します。
例
2 行 2 列のレイアウトの作成
2
行 2
列のタイル表示チャート レイアウトを作成し、関数 peaks
を呼び出して事前定義された表面の座標を取得します。関数 nexttile
を呼び出して、最初のタイルに axes オブジェクトを作成します。次に、関数 surf
を呼び出して座標軸にプロットします。他の 3 つのタイルでは、異なるプロット関数を使用してこの処理を繰り返します。
tiledlayout(2,2); [X,Y,Z] = peaks(20); % Tile 1 nexttile surf(X,Y,Z) % Tile 2 nexttile contour(X,Y,Z) % Tile 3 nexttile imagesc(Z) % Tile 4 nexttile plot3(X,Y,Z)
フロー タイル配置の指定
4 つの座標ベクトル、x
、y1
、y2
および y3
を作成します。引数 'flow'
を指定して関数 tiledlayout
を呼び出すことで、任意の数の座標軸を収められるタイル表示チャート レイアウトを作成します。関数 nexttile
を呼び出して、最初の座標軸を作成します。次に、最初のタイルに y1
をプロットします。この最初のプロットで、レイアウト全体が埋まります。
x = linspace(0,30); y1 = sin(x/2); y2 = sin(x/3); y3 = sin(x/4); % Plot into first tile three times tiledlayout('flow') nexttile plot(x,y1)
2 番目のタイルと座標軸を作成し、座標軸にプロットします。
nexttile plot(x,y2)
この処理を繰り返して、3 番目のプロットを作成します。
nexttile plot(x,y3)
この処理を繰り返して、4 番目のプロットを作成します。ここでは、y1
をプロットした後で hold on
を呼び出して、同じ座標軸に 3 本のラインをすべてプロットします。
nexttile plot(x,y1) hold on plot(x,y2) plot(x,y3) hold off
プロットの垂直スタックの作成
関数 tiledlayout
を呼び出すときに "vertical"
オプションを指定することで、プロットの垂直スタックをもつタイル表示チャート レイアウトを作成します。次に、関数 nexttile
を呼び出してからプロット関数を呼び出して、3 つのプロットを作成します。nexttile
を呼び出すごとに、新しい axes オブジェクトがスタックの下に追加されます。
tiledlayout("vertical")
x = 0:0.1:5;
nexttile
plot(x,sin(x))
nexttile
plot(x,sin(x+1))
nexttile
plot(x,sin(x+2))
プロットの水平スタックの作成
関数 tiledlayout
を呼び出すときに "horizontal"
オプションを指定することで、プロットの水平スタックをもつタイル表示チャート レイアウトを作成します。次に、関数 nexttile
を呼び出してからプロット関数を呼び出して、3 つのプロットを作成します。nexttile
を呼び出すごとに、新しい axes オブジェクトがスタックの右側に追加されます。
tiledlayout("horizontal")
x = 0:0.1:10;
nexttile
plot(x,sin(x/2))
nexttile
plot(x,sin(x))
nexttile
plot(x,sin(2*x))
レイアウトの間隔の調整
5 つの座標ベクトル、x
、y1
、y2
、y3
および y4
を作成します。次に、関数 tiledlayout
を呼び出して 2
行 2
列のレイアウトを作成し、TileChartLayout
オブジェクトを格納するための戻り引数を指定します。関数 nexttile
を呼び出して次の空のタイルに axes オブジェクトを作成してから、関数 plot
を呼び出します。
x = linspace(0,30); y1 = sin(x); y2 = sin(x/2); y3 = sin(x/3); y4 = sin(x/4); t = tiledlayout(2,2); % Tile 1 nexttile plot(x,y1) % Tile 2 nexttile plot(x,y2) % Tile 3 nexttile plot(x,y3) % Tile 4 nexttile plot(x,y4)
TileSpacing
プロパティを 'compact'
に設定して、タイルの間隔を狭くします。次に、Padding
プロパティを 'compact'
に設定して、レイアウトの端と Figure の端の間隔を狭くします。
t.TileSpacing = 'compact'; t.Padding = 'compact';
共有タイトルと共有軸ラベルの作成
2
行 2
列のタイル表示チャート レイアウト t
を作成します。名前と値のペアの引数 TileSpacing
を指定して、タイルの間隔を最小にします。次に、各タイルにタイトル付きのプロットを作成します。
t = tiledlayout(2,2,'TileSpacing','Compact'); % Tile 1 nexttile plot(rand(1,20)) title('Sample 1') % Tile 2 nexttile plot(rand(1,20)) title('Sample 2') % Tile 3 nexttile plot(rand(1,20)) title('Sample 3') % Tile 4 nexttile plot(rand(1,20)) title('Sample 4')
共有タイトルと共有軸ラベルを表示するには、関数 title
、xlabel
、および ylabel
に t
を渡します。
title(t,'Size vs. Distance') xlabel(t,'Distance (mm)') ylabel(t,'Size (mm)')
パネル内にレイアウトを作成
Figure 内にパネルを作成します。次に、関数 tiledlayout
の最初の引数として panel オブジェクトを指定することで、パネル内にタイル表示チャート レイアウトを作成します。各タイルにプロットを表示します。
p = uipanel('Position',[.1 .2 .8 .6]); t = tiledlayout(p,2,1); % Tile 1 nexttile(t) stem(1:13) % Tile 2 nexttile(t) bar([10 22 31 43 52])
座標軸のプロパティの設定
関数 tiledlayout
を呼び出して、2
行 1
列のタイル表示チャート レイアウトを作成します。出力引数を指定して関数 nexttile
を呼び出し、座標軸を保存します。次に座標軸にプロットし、x 軸と y 軸の色を赤に設定します。2 番目のタイルでこの処理を繰り返します。
t = tiledlayout(2,1); % First tile ax1 = nexttile; plot([1 2 3 4 5],[11 6 10 4 18]); ax1.XColor = [1 0 0]; ax1.YColor = [1 0 0]; % Second tile ax2 = nexttile; plot([1 2 3 4 5],[5 1 12 9 2],'o'); ax2.XColor = [1 0 0]; ax2.YColor = [1 0 0];
複数の行と列にわたる座標軸の作成
ボウリング リーグの 4 ゲームにわたるデータを格納したベクトルとして、scores
と strikes
を定義します。次にタイル表示チャート レイアウトを作成し、各チームのストライクの数を示す 3 つのプロットを表示します。
scores = [444 460 380 387 366 500 365 451 611 548 412 452]; strikes = [9 6 5 6 4 8 4 7 16 10 9 8]; t = tiledlayout('flow'); % Team 1 nexttile plot([1 2 3 4],strikes(:,1),'-o') title('Team 1 Strikes') % Team 2 nexttile plot([1 2 3 4],strikes(:,2),'-o') title('Team 2 Strikes') % Team 3 nexttile plot([1 2 3 4],strikes(:,3),'-o') title('Team 3 Strikes')
関数 nexttile
を呼び出し、2 行 3 列にわたる axes オブジェクトを作成します。その後、座標軸に棒グラフを凡例付きで表示し、座標軸の目盛りの値とラベルを設定します。関数 title
を呼び出し、タイルをレイアウトに追加します。
nexttile([2 3]); bar([1 2 3 4],scores) legend('Team 1','Team 2','Team 3','Location','northwest') % Configure ticks and axis labels xticks([1 2 3 4]) xlabel('Game') ylabel('Score') % Add layout title title(t,'April Bowling League Data')
特定のタイル番号から座標軸の範囲を設定
特定の位置から axes オブジェクトの範囲を設定するには、タイル番号と範囲の値を指定します。
ボウリング リーグの 4 ゲームにわたるデータを格納したベクトルとして、scores
と strikes
を定義します。次に 3
行 3
列のタイル表示チャート レイアウトを作成し、各チームのストライクの数を示す 5 つの棒グラフを表示します。
scores = [444 460 380 388 389 387 366 500 467 460 365 451 611 426 495 548 412 452 471 402]; strikes = [9 6 5 7 5 6 4 8 10 7 4 7 16 9 9 10 9 8 8 9]; t = tiledlayout(3,3); % Team 1 nexttile bar([1 2 3 4],strikes(:,1)) title('Team 1 Strikes') % Team 2 nexttile bar([1 2 3 4],strikes(:,2)) title('Team 2 Strikes') % Team 3 nexttile bar([1 2 3 4],strikes(:,3)) title('Team 3 Strikes') % Team 4 nexttile bar([1 2 3 4],strikes(:,4)) title('Team 4 Strikes') % Team 5 nexttile(7) bar([1 2 3 4],strikes(:,5)) title('Team 5 Strikes')
より大きいプロットを凡例付きで表示します。関数 nexttile
を呼び出して、座標軸の左上隅を 5 番目のタイルに配置し、座標軸の範囲を 2 行 2 列のタイルに指定します。すべてのチームのスコアをプロットします。4 つの目盛りを表示し、各座標軸にラベルを追加するように x 軸を設定します。次に、レイアウトの上部に共有タイトルを追加します。
nexttile(5,[2 2]); plot([1 2 3 4],scores,'-.') labels = {'Team 1','Team 2','Team 3','Team 4','Team 5'}; legend(labels,'Location','northwest') % Configure ticks and axis labels xticks([1 2 3 4]) xlabel('Game') ylabel('Score') % Add layout title title(t,'April Bowling League Data')
極座標プロットと地理プロットの表示
1 行 2 列のタイル表示チャート レイアウトを作成します。最初のタイルに、マップ上の 2 つの都市を結ぶラインを含む地理プロットを表示します。2 番目のタイルに、極座標の散布図を作成します。
tiledlayout(1,2) % Display geographic plot nexttile geoplot([47.62 61.20],[-122.33 -149.90],'g-*') % Display polar plot nexttile theta = pi/4:pi/4:2*pi; rho = [19 6 12 18 16 11 15 15]; polarscatter(theta,rho)
前のタイルの内容を再設定
nexttile
の出力引数が役に立つ場合の 1 つとして、前のタイルの内容を調整するときがあります。たとえば、前のプロットで使用されているカラーマップの再設定を決定することがあります。
2 行 2 列のタイル表示チャート レイアウトを作成します。関数 peaks
を呼び出して、事前定義された表面の座標を取得します。次に、各タイルにそれぞれ異なる表面プロットを作成します。
tiledlayout(2,2); [X,Y,Z] = peaks(20); % Tile 1 nexttile surf(X,Y,Z) % Tile 2 nexttile contour(X,Y,Z) % Tile 3 nexttile imagesc(Z) % Tile 4 nexttile plot3(X,Y,Z)
3 番目のタイルのカラーマップを変更するには、そのタイルの座標軸を取得します。タイル番号を指定して関数 nexttile
を呼び出し、座標軸の出力引数を返します。次に、座標軸を関数 colormap
に渡します。
ax = nexttile(3); colormap(ax,cool)
座標軸の範囲内の再設定
それぞれのタイルに 2 つのプロットを含み、1 つのプロットが 2 行 2 列にわたる、2 行 3 列のタイル表示チャート レイアウトを作成します。
t = tiledlayout(2,3); [X,Y,Z] = peaks; % Tile 1 nexttile contour(X,Y,Z) % Span across two rows and columns nexttile([2 2]) contourf(X,Y,Z) % Last tile nexttile imagesc(Z)
座標軸の範囲内のカラーマップを変更するには、座標軸の左上隅を含むようにタイルの位置を特定します。この場合、左上隅は 2 番目のタイル内にあります。タイルの位置として 2
を指定して関数 nexttile
を呼び出し、出力引数を 1 つ指定してその位置にある axes オブジェクトを返します。次に、座標軸を関数 colormap
に渡します。
ax = nexttile(2); colormap(ax,hot)
前のタイルの内容の置き換え
patients
データ セットを読み込み、変数のサブセットから table を作成します。次に、2
行 2
列のタイル表示チャート レイアウトを作成します。最初のタイルに散布図、2 番目のタイルにヒートマップ、そして下の 2 つのタイルにわたって積み上げプロットを表示します。
load patients tbl = table(Diastolic,Smoker,Systolic,Height,Weight,SelfAssessedHealthStatus); tiledlayout(2,2) % Scatter plot nexttile scatter(tbl.Height,tbl.Weight) % Heatmap nexttile heatmap(tbl,'Smoker','SelfAssessedHealthStatus','Title','Smoker''s Health'); % Stacked plot nexttile([1 2]) stackedplot(tbl,{'Systolic','Diastolic'});
nexttile
を呼び出し、タイル番号を 1
に指定して、そのタイル内の座標軸を現在の座標軸にします。そのタイルの内容をヒストグラム付き散布図に置き換えます。
nexttile(1) scatterhistogram(tbl,'Height','Weight');
個別のタイルに共有カラー バーを表示
カラー バーまたは凡例を 2 つ以上のプロットで共有する場合、それを個別のタイルに配置できます。
タイル表示チャート レイアウトで peaks
と membrane
のデータ セットの塗りつぶし等高線図を作成します。
Z1 = peaks; Z2 = membrane; tiledlayout(2,1); nexttile contourf(Z1) nexttile contourf(Z2)
カラー バーを追加し、east タイルに移動します。
cb = colorbar;
cb.Layout.Tile = 'east';
nexttile
なしでの座標軸の作成と手動での配置
場合によっては、座標軸関数 (axes
、polaraxes
、geoaxes
) のいずれかを呼び出して、座標軸を作成しなければならないことがあります。これらの関数のいずれかを使用して座標軸を作成するときに、引数 parent
をタイル表示チャート レイアウトとして指定します。次に、座標軸の Layout
プロパティを設定して、座標軸を配置します。
タイル表示チャート レイアウト t
を作成し、'flow'
タイル配置を指定します。最初から 3 つのタイルのそれぞれに、プロットを表示します。
t = tiledlayout('flow');
nexttile
plot(rand(1,10));
nexttile
plot(rand(1,10));
nexttile
plot(rand(1,10));
関数 geoaxes
を呼び出し、引数 parent として t
を指定することで、geographic axes オブジェクト gax
を作成します。既定で、座標軸は最初のタイルに入るため、gax.Layout.Tile
を 4
に設定して座標軸を 4 番目のタイルに移動します。gax.Layout.TileSpan
を [2 3]
に設定して、座標軸の範囲を 2
行 3
列のタイル領域に設定します。
gax = geoaxes(t); gax.Layout.Tile = 4; gax.Layout.TileSpan = [2 3];
関数 geoplot
を呼び出します。次に、座標軸について、マップの中央とズーム レベルを設定します。
geoplot(gax,[47.62 61.20],[-122.33 -149.90],'g-*')
gax.MapCenter = [47.62 -122.33];
gax.ZoomLevel = 2;
入力引数
m
— 行数
正の整数
行数。正の整数として指定します。
例: tiledlayout(2,3)
は、2 行 3 列のタイルからなるタイル表示チャート レイアウトを作成します。
n
— 列数
正の整数
列数。正の整数として指定します。
例: tiledlayout(2,3)
は、2 行 3 列のタイルからなるタイル表示チャート レイアウトを作成します。
arrangement
— タイル配置
"flow"
| "vertical"
| "horizontal"
タイル配置。次の値のいずれかとして指定します。
"flow"
— 座標軸のグリッドのレイアウトを作成します。nexttile
を呼び出すたびに、すべての座標軸の縦横比を約 4:3 に維持しながら、新しい座標軸が収まるようにレイアウトが必要に応じてリフローします。"vertical"
— 座標軸の垂直スタックのレイアウトを作成します。nexttile
を呼び出すごとに、新しい axes オブジェクトがスタックの下に追加されます。 (R2023a 以降)"horizontal"
— 座標軸の水平スタックのレイアウトを作成します。nexttile
を呼び出すごとに、新しい axes オブジェクトがスタックの右側に追加されます。 (R2023a 以降)
例: tiledlayout("vertical")
では座標軸の垂直スタックのレイアウトを作成します。
parent
— 親コンテナー
Figure
オブジェクト | Panel
オブジェクト | Tab
オブジェクト | TiledChartLayout
オブジェクト
親コンテナー。Figure
、Panel
、Tab
、または TiledChartLayout
オブジェクトとして指定します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: tiledlayout(2,2,"TileSpacing","compact")
は、タイルの間隔を最小にして 2 行 2 列のレイアウトを作成します。
メモ
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、TiledChartLayout のプロパティ を参照してください。
TileSpacing
— タイルの間隔
"loose"
(既定値) | "compact"
| "tight"
| "none"
タイルの間隔。"loose"
、"compact"
、"tight"
、または "none"
として指定します。このプロパティを使用して、タイルの間隔を制御します。
次の表に、それぞれの値が 2
行 2
列のレイアウトの外観にどのような影響を与えるかを示します。
値 | 外観 |
---|---|
|
|
"compact" |
|
"tight" |
|
"none" |
|
Padding
— レイアウトの周囲のパディング
"loose"
(既定値) | "compact"
| "tight"
レイアウトの周囲のパディング。"loose"
、"compact"
または "tight"
として指定します。このプロパティの値にかかわらず、このレイアウトには軸ラベルなどのすべての装飾にそのためのスペースがあります。
次の表に、それぞれの値が 2
行 2
列のレイアウトの外観にどのような影響を与えるかを示します。
値 | 外観 |
---|---|
|
|
"compact" |
|
"tight" |
|
バージョン履歴
R2019b で導入R2023a: 垂直または水平での座標軸のスタック
tiledlayout
を呼び出すときに arrangement
の値として "vertical"
または "horizontal"
を指定することで、垂直または水平のレイアウトを作成します。
R2021a: タイルの間隔とパディングのオプションの新しい名前と動作
タイル表示チャート レイアウトを作成する際の TileSpacing
プロパティと Padding
プロパティが一部変更され、異なる結果になるものや新しい名前のものがあります。
新しい TileSpacing
のオプションは、"loose"
、"compact"
、"tight"
、および "none"
です。新しい Padding
のオプションは、"loose"
、"compact"
、および "tight"
です。次の表に、以前のオプションと新しいオプションの関係を示します。
TileSpacing
の変更点
以前の TileSpacing のオプション | R2021a の TileSpacing のオプション | コードを更新する方法 |
---|---|---|
|
|
|
|
| 変更は必要ありません。 |
該当なし |
|
|
|
|
プロット ボックス間の間隔を保持するには、 |
Padding
の変更点
以前の Padding のオプション | R2021a の Padding のオプション | コードを更新する方法 |
---|---|---|
|
|
|
|
| 変更は必要ありません。 |
|
|
|
R2019b: subplot
よりも推奨
tiledlayout
は、subplot
で作成されるレイアウトよりも詳細にカスタマイズ可能および構成可能なレイアウトを作成します。たとえば、調整可能なタイルの間隔、Figure のサイズに応じてリフローするタイル、より適切に配置されたカラー バーと凡例を使用してレイアウトを作成できます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)