Azzera filtri
Azzera filtri

Can I shift the position of a tile in tiledlayout to be skewed?

27 visualizzazioni (ultimi 30 giorni)
Is it possible to get a layout like the picture below using tiledlayout?
For the plots below I've used subplot(3,2,5.5) for the last plot. I would like to use tiledlayout instead, as there I can remove the white space between the plots.
Is there a way to get the following layout and remove rebundant white space between the subplots?
  1 Commento
VBBV
VBBV il 12 Ott 2020
Modificato: VBBV il 12 Ott 2020
%if true
% code
% end
t = tiledlayout(3,2,'TileSpacing','none')
You can also use padding to make the figure layout small as
% if true
% code
% end
t =
tiledlayout(3,2,'Padding','none')

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 12 Ott 2020
Modificato: Matt J il 12 Ott 2020
I think that such a layout violates the definition of "tiled" and therefore will not be possible with tiledlayout, however this File Exchange file,
gives you all the same flexibility as subplot, but in addition allows you to control inter-plot spacing. E.g.,
subaxis(2,2,1,1); plot(1:5)
subaxis(2,2,2,1); plot(1:5)
subaxis(2,2,1.5,2); plot(1:5)

Più risposte (1)

David Szwer
David Szwer il 16 Mar 2021
The solution is to set up tiledlayout with double the number of rows and columns you need, and create each axes as a 2×2 square.
tiledlayout(6,4, 'TileSpacing','None', 'Padding','None')
% The spacing and padding can be 'Normal', 'Compact' or 'None'.
% Create the first four axes - they go in their default positions.
nexttile([2,2])
nexttile([2,2])
nexttile([2,2])
nexttile([2,2])
% The tiles of tiledlayout are numbered across, then down. The top-left
% corner of your fifth axes would be tile 17, except that you want it in
% the middle of the row. So you must set the top-left corner to be in cell
% 18.
nexttile(18,[2,2])
This should give the arrangement you want.

Community Treasure Hunt

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

Start Hunting!

Translated by