필터 지우기
필터 지우기

how to add a label to a contourf plot next to colourbar?

조회 수: 79 (최근 30일)
Tony Castillo
Tony Castillo 2021년 6월 2일
댓글: Tony Castillo 2021년 6월 3일
Hello mathcoders,
I want to add a label next to the colourbar for adding the variable's name, how can I do it?. The resulting plot and code is attached to these brief lines. Also I have noticed that when adding months labels it only present till June, but when remove the colourbar it prints till December, how can I solve this?.
Thanks in advance
figure(1)
irradiation_alongyear=[Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec];
contourf(irradiation_alongyear)
colorbar
ylabel('Hours of the day', 'Fontsize', 14)
xticklabels(LastName)
title('Irradiation distribution along the year','FontSize',14)
  댓글 수: 2
Scott MacKenzie
Scott MacKenzie 2021년 6월 2일
It might help if you post the code that created the figure. Your code crashes with the following error:
Unrecognized function or variable 'Jan'.
Error in test3 (line 7)
irradiation_alongyear=[Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec];
Tony Castillo
Tony Castillo 2021년 6월 3일
I apologize for not sharing more data, I guess that it but be doable with the part of the code that I shared.

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

채택된 답변

Joseph Cheng
Joseph Cheng 2021년 6월 2일
편집: Joseph Cheng 2021년 6월 2일
you can set a ylabel by passing the colorbar handles into ylabel
[X,Y] = meshgrid(1:12,1:24);
Z = sin(X) + cos(Y);
figure(1),contourf(Z)
lastname = {'jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec'};
ylabel('hours of the day')
xticks([1:12]);xlim([1 12]);
xticklabels(lastname)
hbar = colorbar;
ylabel(hbar,'Varname');
here essentially i generated a dummy set of data to contourf() then force the x limits to 1 to 12 for the month then set hbar as the colorbar handles such that ylabel() knows what to label
  댓글 수: 2
Joseph Cheng
Joseph Cheng 2021년 6월 2일
actually figured out why it was set to only half the months or so. as you set the ticklabels because of say the scaling for display changes the ticks it'll take the first X. so to remedy this i edited my initial response to also force the number of ticks to be 12 such that matlab doesn't auto populate what they should be
Tony Castillo
Tony Castillo 2021년 6월 3일
Thank you Sir Cheng, it worked properly.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by