Clear Filters
Clear Filters

colorbar graph exceeding matrix values

41 views (last 30 days)
Kitt
Kitt on 12 Aug 2024 at 16:37
Edited: Matt J on 12 Aug 2024 at 19:10
So I'm plotting a 4D matrix, called Ft, that ranges from 0-1, but when I graph it and add a colorbar, it's showing 0-2 for physical states 4-15, and (-1)-1for physical state 1-3
physical states 1-3 are 0 for every timestep in the matrix Ft, so that first graph makes sense. Why does the colorbar range change for the other graphs?
Here's the code for the graphs. Let me know if more code is needed to create the actual Ft matrix. [[ my entire code would be needed in order to create this matrix ]]
%the setup of Ft is Ft(state,est of patch1,est of patch2,timestep)
B = permute(Ft,[2 3 1 4]);
for state= 1:15
figure(state)
sgtitle(['physical state = ' num2str(state)])
time = 1;
subplot(4,5,time)
imagesc(B(:,:,state,time))
title(['timestep : ' num2str(time)])
xlabel('est. of patch 2 quality');
ylabel('est. of patch 1 quality');
set(gca,'ydir','normal')
for time = 2:19
subplot(4,5,time)
imagesc(B(:,:,state,time))
title(num2str(time))
set(gca,'ydir','normal')
for time = 20
subplot(4,5,time)
imagesc(B(:,:,state,time))
title(num2str(time))
set(gca,'ydir','normal')
colormap hot
colorbar
hold on
end
end
end
  2 Comments
Voss
Voss on 12 Aug 2024 at 18:15
The colorbar only applies to the 20th subplot.
For example, in the case of state == 7, the colorbar tells us that Ft(7,:,:,20) is 1 everywhere; the colorbar says nothing about Ft(7,:,:,1), Ft(7,:,:,2), or the value of Ft at any other time.
Kitt
Kitt on 12 Aug 2024 at 18:24
ooooh I see, when adding a colorbar to other timesteps, it completely changes the range! Using the other commenters suggestion of the restriction for imagesc I'm able to standardize all the graphs now. Thanks!

Sign in to comment.

Accepted Answer

Matt J
Matt J on 12 Aug 2024 at 17:58
Edited: Matt J on 12 Aug 2024 at 19:10
You haven't attached Ft for us to examine, so we have no way to verify your claim that the data is bounded to [0,1]. Regardless, you can explicitly bound the colorbar range by using imagesc's clim argument, e.g.,
imagesc(B(:,:,state,time) ,[0,1])

More Answers (0)

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!