Want to make changes to the colorbar
    16 次查看(过去 30 天)
  
       显示 更早的评论
    
Hi guys,
I have a simply surface below which gets printed with a colorbar. I want to make some minor adjustments to the colorbar. Since my graph is a very 'binary' graph (either 1 or 0), I want my colorbar to only show '0' and '1'. I don't want it to show all the decimal values between 1 and 0.
I then want the colorbar's 1 to show a certain text ("values are > 0.5") and the 0 to show ("vales are < 0.5")
Hope this makes sense. Thanks very much!
x = [-10:10];
y = [-10:10];
Eq1 = @(x,y)(x + y);
Eq2 = @(x,y)(2.*x + y);
[X,Y] = meshgrid(x,y);
Z1 = Eq1(X,Y);
Z2 = Eq2(X,Y);
D = (abs(Z2-Z1) > 0.5);
[Dr,Dc] = find(D);                  % Indices where D == 1
figure(1)
s1 = surf(X, Y, double(D));
colormap(winter(256)) 
view(0,90)
axis tight
colorbar
0 个评论
采纳的回答
  Montree
      
 2015-1-2
        Use 'YTicklable' such as...
colorbars('YTicklabel',{'0','1'})
See more detail on matlab help.
更多回答(1 个)
  Image Analyst
      
      
 2015-1-3
        Are you sure you want to Accept the other answer? Because it's not giving you the colormap I think you want. What I thought you wanted is this:
x = [-10:10];
y = [-10:10];
Eq1 = @(x,y)(x + y);
Eq2 = @(x,y)(2.*x + y);
[X,Y] = meshgrid(x,y);
Z1 = Eq1(X,Y);
Z2 = Eq2(X,Y);
D = (abs(Z2-Z1) > 0.5);
[Dr,Dc] = find(D);                  % Indices where D == 1
s1 = surf(X, Y, double(D));
view(0,90)
axis tight
blueAndGreenColormap = [repmat([0,0,1], [128,1]) ; repmat([0,1,0], [128,1])]
colormap(blueAndGreenColormap) 
colorbar

Is this really wanted instead?
8 个评论
  Image Analyst
      
      
 2015-1-4
				Try this:
clc;    % Clear the command window.
close all;  % Close all figures (except those of imtool.)
clear;  % Erase all existing variables. Or clearvars if you want.
workspace;  % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 20;
x = [-10:10];
y = [-10:10];
Eq1 = @(x,y)(x + y);
Eq2 = @(x,y)(2.*x + y);
[X,Y] = meshgrid(x,y);
Z1 = Eq1(X,Y);
Z2 = Eq2(X,Y);
D = (abs(Z2-Z1) > 0.5);
[Dr,Dc] = find(D);                  % Indices where D == 1
s1 = surf(X, Y, double(D));
view(0,90)
axis tight
blueAndGreenColormap = [repmat([0,0,1], [128,1]) ; repmat([0,1,0], [128,1])]
colormap(blueAndGreenColormap) 
hCB = colorbar('YTick',[0.05 .95], 'YTicklabel',[], 'FontSize', 17, 'FontName', 'Calibri')
text(13, -7, 'More                     Less', 'FontSize', 17, 'Rotation',90);

  Image Analyst
      
      
 2015-1-5
				"A"'s "Answer" moved here to be a comment since it's not an "Answer" to the original question.
That works. Thanks!
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Graphics Object Properties 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


