How to make one colorbar for all subplots?

Hi everybody
So I made a plot with four subplots (2x2). Now I would like to insert one (big) colorbar on the right Hand side of the four plots without changing the size of any of the plots. Somehow I only manage to make a bar for one subplot...
Cheers Ronny

 채택된 답변

Star Strider
Star Strider 2014년 8월 2일

3 개 추천

I assume you’ve already discovered the colorbar function. See Axis Properties for a description of the properties you can set. The location property applies only to colorbars and legends, not to axes.

댓글 수: 4

Ronny
Ronny 2014년 8월 2일
편집: Ronny 2014년 8월 2일
Yeah I know. However if I set the colorbar like this it's always in respective to the first of the subplots. What I want is one big colorbar on the right side of all the fore plots...
See if this does what you want:
x = linspace(0,10,1000);
y = [sin(x); sin(2*x); sin(3*x); sin(4*x)];
figure(1)
for k1 = 1:4
subplot(2,2,k1)
plot(x,y(k1,:))
grid on
end
hp4 = get(subplot(2,2,4),'Position')
colorbar('Position', [hp4(1)+hp4(3)+0.01 hp4(2) 0.1 hp4(2)+hp4(3)*2.1])
You may have to experiment a bit to get it to work exactly as you want with your plot, but it works with this one. The 2.1 factor is a slight fudge, since various combinations of the 'Position' values for subplot(2,2,2) and subplot(2,2,4) didn’t work satisfactorily for me.
Shan  Chu
Shan Chu 2020년 2월 13일
Please help.
Thanks
冠中 王
冠中 王 2022년 4월 6일
For matlab 2019b or after, Create tiled chart layout - MATLAB tiledlayout (mathworks.com) also works and it is easier.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Ronny
Ronny 2014년 8월 3일

1 개 추천

Thanks that works

댓글 수: 1

Star Strider
Star Strider 2014년 8월 3일
My pleasure!
You can adjust its left edge position by increasing or decreasing the 0.01 in the first element of the 'Position' vector, and its width by adjusting the third element of the vector.

댓글을 달려면 로그인하십시오.

Emmanouil Barmpounakis
Emmanouil Barmpounakis 2017년 4월 25일

1 개 추천

I came up with the Star Strider's solution but by using the Edit plot function. I found it easier to do it manually, rather than changing the 'Position' vector.tor.

카테고리

질문:

2014년 8월 2일

댓글:

2022년 4월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by