How to set colorbar seperately for subplot?

Dear all,
I am frustrated when I trying to setup colorbars separaterly for the subplots in one figure. I will be appreciate for any help.
The difficult is that I trying to give a independent colorbar to each subplot. It is much easier for the matlab 2012 and earlier, but it is much complex for the matlab 2016, which I am using now.
The problem is that it seems the colorbar of subplot 1 does not belong to subplot 1. If I change the range of colorbar of subplot 1, then the ranges of other colorbar change as well. So my question is how to set the colorbar so that the colorbar of one subplot ONLY impacts on the subplot and not on the others? By the way, the range of each subpplot is different that of the other.

 Accepted Answer

Try using handles, that way you have control over which colorbar you're accessing,
[X,Y] = meshgrid(-5:.5:5);
Z = X.^2 + Y.^2;
figure
subplot(2,1,1)
h1 = surf(Z);
c1 = colorbar;
c1.Limits = [20 50];
subplot(2,1,2)
h2 = surf(peaks);
c2 = colorbar;
c2.Limits = [-6 8];

4 Comments

Thanks for your answer. It works.
By the way, when I change the range of the colorbar of one subplot, the range of colorbar of another subplot changes too. Is there any method to solove this issue?
Which MATLAB release are you using? The change in the other colorbar does not happen in my test in R2017b.
The version is Matlab 2015b. Maybe I should update to the latest version of matlab.
That's strange, I tested it on a 2015a version and it still works fine. Do not try it on your actual program, just try this piece of code and see if the same thing occurs?

Sign in to comment.

More Answers (0)

Asked:

on 13 Nov 2017

Commented:

KL
on 14 Nov 2017

Community Treasure Hunt

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

Start Hunting!