필터 지우기
필터 지우기

colorbar graph exceeding matrix values

조회 수: 41 (최근 30일)
Kitt
Kitt 2024년 8월 12일 16:37
편집: Matt J 2024년 8월 12일 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
Voss
Voss 2024년 8월 12일 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 2024년 8월 12일 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!

댓글을 달려면 로그인하십시오.

채택된 답변

Matt J
Matt J 2024년 8월 12일 17:58
편집: Matt J 2024년 8월 12일 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])

추가 답변 (0개)

카테고리

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