Align colorbar ticks with corresponding colors

조회 수: 3 (최근 30일)
yoni verhaegen
yoni verhaegen 2018년 6월 6일
답변: Sindhu Yerragunta 2018년 6월 18일
Hi all,
I have the following script, which plots the corresponding plot. How can I change this so the discrete colors match the used ticks in both the plot and the colorbar? E.g. the dark purple for 14.3-15, then next blueish/purple from 15-16 and so on.
Thanks!
x1=data(:,1);
y1=data(:,2);
z1=data(:,3);
[XI,YI] = meshgrid(x1,y1);
ZI = griddata(x1,y1,z1,XI,YI);
surf(XI,YI,ZI);
shading interp;
set(gca, 'YScale', 'log');
colormap(parula(10));
cbh = colorbar ; %Create Colorbar
cbh.Ticks = [14.3 15 16 17 18 19 20] ; %Create ticks
box on;
grid on;
set(gca,'Layer','Top');
view([90 90]);
ylim([7e-15 1.1e-12]);
xlim([4.5e-17 7.25e-17]);
caxis([14 21]);
  댓글 수: 1
Jan
Jan 2018년 6월 7일
편집: Jan 2018년 6월 7일
I do not understand: "the discrete colors match the used ticks in both the plot and the colorbar". The colors of the diagram and the colorbar are matching already. Which "ticks" do you mean? The ticks of the colorbar? Then the "20" is written with yellow on white? This would be a bad idea, wouldn't it?

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

답변 (1개)

Sindhu Yerragunta
Sindhu Yerragunta 2018년 6월 18일
Hi Yoni,
This misalignment occurs due to the fact that if suppose there are 10 colors in the colormap, but only 9 bins to put them in.
In general, for a vector containing N ticks, there are N-1 intervals.
In your case reducing the number of colors in the colormap to 7 should help,
colormap(parula(7));
Hope this answers the query.
-Sindhu

카테고리

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