saving edited colormap data
显示 更早的评论
After editing an existing colormap with the colormapeditor, I want to save it. The documentation states that I should do something like:
mycmap = get(fig,'Colormap');
However, the saved colormap, mycmap, has the original colormap data not the eddited one. Here's a minimal example:
imagesc(peaks(10));
colormap(hot(6))
Now go into the figure's gui colormap editor using >Edit>Colormap and only change yellow to blue. Now after that press Apply see that indeed the figure has changed. Now write on the command line:
mycmap = get(gcf,'Colormap')
mycmap =
0.5000 0 0
1.0000 0 0
1.0000 0.5000 0
1.0000 1.0000 0
1.0000 1.0000 0.5000
1.0000 1.0000 1.0000
there no "blue" ([0 0 1]) color. Interestingly, when the figure is saved the colormap is saved with it, but for some reason I cant access the edited colormap. What am I doing wrong? (I'm using Matlab 2014b)
采纳的回答
更多回答(2 个)
Walter Roberson
2015-10-10
6 个投票
Starting in R2014b, colormaps are per-axes rather than per-figure. So use gca (or some other way of identifying the axes) instead of gcf .
2 个评论
hamed amini
2018-5-26
mycbar= get(gca,Colormap'); % this works
set(gcf,'Colormap',mycbar); %this works
set(gca) does not work in R2017a. This does not sound right and is confusing.
Walter Roberson
2018-6-6
编辑:Walter Roberson
2018-6-6
?
set(gca, 'Colormap', mycbar)
works
Sean de Wolski
2015-7-9
0 个投票
Is gcf, the same as fig?
6 个评论
Adi Natan
2015-7-9
Sean de Wolski
2015-7-9
No, my question will possibly point you to what's wrong. gcf is the current figure which may not be the same as the figure you modified :)
Sean de Wolski
2015-7-9
However, I am able to reproduce this behavior. I would've expected either the Colormap or the CDataMapping of the Image to have changed by using the colorbareditor but you're right it doesn't appear to be changing anything.
Adi Natan
2015-7-9
Ken
2015-10-10
I have the same problem! This is a bug that needs fixing, or a good explaination
Adi Natan
2015-10-12
类别
在 帮助中心 和 File Exchange 中查找有关 Red 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!