Question related to pcolor bar and its position
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Ashfaq Ahmed
il 23 Feb 2023
Commentato: Les Beckham
il 23 Feb 2023
Hi! Can anyone please tell me
a) how can I use one long pcolorbar at the right side of this figure instead of using 4 different colorbar for four subplots?
This is the figure -
b) How to minimize the distances between teh four subplots, so that they are put closer to each other?
The code I am using for the plot is this -
for ii = 1:4
ax(ii) = subplot(2,2,ii);
h{ii} = pcolor(LON,LAT,flip(Tide_type{ii}));
set(h{ii}, 'EdgeColor', 'none');
shading interp;
colorbar;
caxis([12.5 15.5]);
setup_plots(ax(ii))
end
Any feedback will be much appreaciated, thank you!!
1 Commento
Walter Roberson
il 23 Feb 2023
tiledlayout can supposedly get tiles closer together than subplot does.
Risposta accettata
Jacob Ward
il 23 Feb 2023
You can manually change the position of the colorbar using the 'position' property. Here's an example:
fig = figure;
subplot(2,2,1)
imagesc([0 1 0; 1 2 1; 0 1 0;])
subplot(2,2,2)
imagesc([0 1 0; 1 2 1; 0 1 0;])
subplot(2,2,3)
imagesc([0 1 0; 1 2 1; 0 1 0;])
subplot(2,2,4)
imagesc([0 1 0; 1 2 1; 0 1 0;])
pos = get(subplot(2,2,4),'Position');
colorbar('Position', [pos(1)+pos(3)+0.01 pos(2) 0.03 pos(2)+pos(4)*2.07])
1 Commento
Les Beckham
il 23 Feb 2023
Note that this is a little bit easier using tiledlayout instead of subplot, plus it is easier to control the spacing between and around the tiles. Details on the spacing options are here
figure
tl = tiledlayout(2,2, 'TileSpacing', 'compact', 'Padding', 'compact');
nexttile
imagesc([0 1 0; 1 2 1; 0 1 0;])
nexttile
imagesc([0 1 0; 1 2 1; 0 1 0;])
nexttile
imagesc([0 1 0; 1 2 1; 0 1 0;])
nexttile
imagesc([0 1 0; 1 2 1; 0 1 0;])
cbh = colorbar;
cbh.Layout.Tile = 'east';
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Subplots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!