Modify colorbar in .fig file

5 views (last 30 days)
sas0701
sas0701 on 23 Feb 2012
Edited: S. on 24 Oct 2013
Hello,
Is there anyway to rescale the colors in a figure and hence the colorbar?
eg. Right now colorbar is 0.1 to 0.5 BUT I want the colors in the figure rescaled to 0.1 to 0.7.
Is there anyway to do this without replotting the figure?
Thank you, S

Answers (7)

Tom
Tom on 23 Feb 2012
Try: caxis([0.1 0.7])
  1 Comment
Sean de Wolski
Sean de Wolski on 23 Feb 2012
+1, You're right, this is probably more what sas0701 is looking for.

Sign in to comment.


Sean de Wolski
Sean de Wolski on 23 Feb 2012
figure;
imagesc(magic(20));
h = colorbar;
pause %pause so you can see the change on the next line
set(h,'ylim',[30 60]);
Like this?

sas0701
sas0701 on 23 Feb 2012
Hi, Do I have to something special in terms of loading the figure (just opening it up and typing caxis does not work)?
Thanks, S
  2 Comments
Tom
Tom on 23 Feb 2012
I tried it by opening a saved figure which had a color bar on, and it worked for me. But maybe you could try what Sean wrote, though you'll have to find the handle of the color bar yourself:
someone smarter than me might know a quicker way, but to get started you can do H=get(gcf,'children'), and find which one of those has the tag 'Colorbar'
Sean de Wolski
Sean de Wolski on 23 Feb 2012
h = findobj('tag','Colorbar')

Sign in to comment.


sas0701
sas0701 on 23 Feb 2012
Hi,
I tried both ways.I first open up a saved .fig file
1)caxis does not change anything 2)set(h...) changes colorbar limits but does not rescale figure colors..
Help!
  3 Comments
sas0701
sas0701 on 23 Feb 2012
Hi, Is there a way to attach a file here?
Sean de Wolski
Sean de Wolski on 23 Feb 2012
Post the image to a free webhosting site and then use the << url>> tag to poast it in your question. Edit your original question to include the new info:
http://www.mathworks.com/matlabcentral/answers/7924-where-can-i-upload-images-and-files-for-use-on-matlab-answers

Sign in to comment.


sas0701
sas0701 on 23 Feb 2012
Hi,
Please see attached file here: http://fileslap.com/9hn/Coh070911fx

sas0701
sas0701 on 23 Feb 2012
I am trying to modify the CLim in the above saved figure..i.e. without creating a new figure.

sas0701
sas0701 on 24 Feb 2012
Hi, Anybody? Want to modify CLim in a saved figure without regenerating it.
Thanks,
  2 Comments
Sean de Wolski
Sean de Wolski on 24 Feb 2012
CLim is the property of an axes; so get the children of the figure, and modify the clim property of them using set()
sas0701
sas0701 on 24 Feb 2012
This worked.
Open figure. Manually click on it (for some reason this needs to be done) to select it.
set(gca,'CLim',[a b])
This rescales the colors in the figure and updates the colorbar.
Thank you Sean!

Sign in to comment.

Categories

Find more on Colormaps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!