Effacer les filtres
Effacer les filtres

TiledLayoutに外枠を追加する

7 vues (au cours des 30 derniers jours)
junya ishii
junya ishii le 13 Juil 2022
Commenté : junya ishii le 15 Juil 2022
matlabで品質工学でよく使われる要因効果図というものを描画したいです.
要因効果図とは,こちらのページにあるような,折れ線グラフを並べたものになります.
このグラフを作るにあたり,tiledlayoutを使用して折れ線グラフを並べようと考え,以下のコードを作成しました.
T1 = tiledlayout(1,8);
T1.TileSpacing = 'none';
T1.Padding = 'tight';
T1.XLabel.String = 'Level';
T1.YLabel.String = '\eta[db]';
for Facts = 1:8
nexttile
hold on
ax = gca;
grid on
grid minor
ax.XGrid = 'off';
ax.XMinorGrid = 'off';
box off
if Facts~=1
ax.YColor = 'none';
end
xlim([0 5])
xticks(1:4)
xticklabels({'1','2','3','4'})
%ここに折れ線グラフを描く
end
外観の都合上,個別のグラフではなく,このtiledlayout全体を1つのboxで覆いたいです.(通常のfigureでいう「box on」)
自分なりに調べてみましたが方法を見つけられませんでした.
方法がありましたら教えて頂きたいです.
よろしくお願いします.

Réponse acceptée

Atsushi Ueno
Atsushi Ueno le 15 Juil 2022
苦肉の策「xline, ylineで線を描画!」
% 最後に下記を付け足す
if Facts==8
xline(4.99)
end
yline(1)
ylim([0 1])
  1 commentaire
junya ishii
junya ishii le 15 Juil 2022
ありがとうございます!!!
その手があったかって思いました!
助かりました!

Connectez-vous pour commenter.

Plus de réponses (1)

Atsushi Ueno
Atsushi Ueno le 15 Juil 2022
>このtiledlayout全体を1つのboxで覆いたい
「1つのboxで覆う」を拡大解釈し、パネル内にタイル表示チャート レイアウトを作成しました。
p = uipanel('Position',[.1 .1 .9 .9]);
T1 = tiledlayout(p,1,8);
T1.TileSpacing = 'none';
T1.Padding = 'compact'; %'tight';
T1.XLabel.String = 'Level';
T1.YLabel.String = '\eta[db]';
for Facts = 1:8
nexttile(T1)
hold on
ax = gca;
grid on
grid minor
ax.XGrid = 'off';
ax.XMinorGrid = 'off';
box off
if Facts~=1
ax.YColor = 'none';
end
xlim([0 5])
xticks(1:4)
xticklabels({'1','2','3','4'})
%ここに折れ線グラフを描く
end

Catégories

En savoir plus sur グラフィックス オブジェクトのプロパティ dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!