How to add fixed Colorbar based on a vector for 2D scatter plot with 3 vectors

조회 수: 11 (최근 30일)
I want to compare two [2D scatter] plots that both have three variables (x,y,z). I'm plotting x against y and showing vector z for both plots by color. I need to make the colorbar fixed so I can compare the two plots. How can I make this colorbar range fixed for both? Thank you in advance
if true
figure
pointsize = 10;
scatter(x1, y1, pointsize, z1)
colorbar;
figure
pointsize = 10;
scatter(x2, y2, pointsize, z2)
colorbar;
end
  댓글 수: 1
Jon Hinwood
Jon Hinwood 2020년 10월 15일
I have tried using caxis, which I use with the plot command, but it has no effect and the range is set automatically to the full range of my data. I have tried placing the caxis command before, after the specification of colormap and before and after the call to scatter and in all 4 positions. Also tried rebooting computer and repeating the trials.
I did find that caxis only worked with plot if the caxis command was after the colormap and before the plot command. I an using Matlab R2019b Academic with Windows 10 both fully updated. Help please!
Jon. 15 Oct 2020

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

채택된 답변

Star Strider
Star Strider 2018년 10월 23일
One option is to normalize the ‘z’ values by scaling them with respect to the range of both ‘z1’ and ‘z2’:
figure
pointsize = 10;
scatter(x1, y1, pointsize, (z1-min([z1(:);z2(:)]))/max([z1(:);z2(:)]))
colorbar;
figure
pointsize = 10;
scatter(x2, y2, pointsize, (z2-min([z1(:);z2(:)]))/max([z1(:);z2(:)]))
colorbar;
The colorbar will be the same for both.
  댓글 수: 4
Yaser Khojah
Yaser Khojah 2018년 10월 23일
Thanks a lot for your help. It worked finally. I just need to find a better way know to see these colors since I have problem with seeing color haha but thanks a lot.

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

추가 답변 (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