Modify colorbar in .fig file

5 次查看(过去 30 天)
sas0701
sas0701 2012-2-23
编辑: S. 2013-10-24
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

回答(7 个)

Tom
Tom 2012-2-23
Try: caxis([0.1 0.7])
  1 个评论
Sean de Wolski
Sean de Wolski 2012-2-23
+1, You're right, this is probably more what sas0701 is looking for.

请先登录,再进行评论。


Sean de Wolski
Sean de Wolski 2012-2-23
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 2012-2-23
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 个评论
Tom
Tom 2012-2-23
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 2012-2-23
h = findobj('tag','Colorbar')

请先登录,再进行评论。


sas0701
sas0701 2012-2-23
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 个评论
sas0701
sas0701 2012-2-23
Hi, Is there a way to attach a file here?
Sean de Wolski
Sean de Wolski 2012-2-23
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

请先登录,再进行评论。


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

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

sas0701
sas0701 2012-2-24
Hi, Anybody? Want to modify CLim in a saved figure without regenerating it.
Thanks,
  2 个评论
Sean de Wolski
Sean de Wolski 2012-2-24
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 2012-2-24
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!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Colormaps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by