필터 지우기
필터 지우기

Contourm lines overlay labels (using clabelm)

조회 수: 7 (최근 30일)
Platon Patlakas
Platon Patlakas 2017년 9월 23일
편집: David Shohami 2020년 10월 22일
I use contourm in order to make a map and I want to have labels as well. The label background color is set to none. The lines are going through the labels and this is not looking nice. In some cases it is dificult to read the labels as well.
Does anybody know how to make a small gap in where the labels are placed?
This is a part of the code!
hold on
[c,h] =contourm(flipud(aody),flipud(aodx),flipud(rot90(aod)),5:5:60,'w','LineWidth',1);
t = clabelm(c,h);
set(t,'Fontsize',14)
set(t,'Color','w')
set(t,'BackgroundColor','none')
set(t,'FontWeight','bold')

답변 (3개)

Sebby RedRice
Sebby RedRice 2018년 9월 4일
Hello,
I personally havent done it but a co-worker had this 'work around' where she used contour instead of contourm.
The trick is to create an x and y meshgrid from matlab's domain instead of using the lat/lon coordinates that you would normally input in countourm. Here's an example where she did the countours with sea-level pressure:
%%%Code starts
%Find the matlab values of lat and longitudes. Must first create the domain, then go to graph editor and find the corresponding xlim and ylim
x1 = -0.515;
x2 = 0.52;
y1 = 0.358;
y2 = 1.032;
%Create grid data
y_file = linspace(y1,y2,Mj); %Mj and Mi are the number of grid cells in both direction
x_file = linspace(x1,x2,Mi);
[y,x]=meshgrid(y_file,x_file);
%Define pressure range
p_min = 950; % hPa
p_max = 1042; % hPa
dp = 4; % Distance between contours
%Create contour
[C,h]=contour(x,y,fld_p,p_min:dp:p_max,'k','LineWidth',1);
clabel(C,h,'FontSize',12,'FontWeight','bold')

Fehmi Dilmahamod
Fehmi Dilmahamod 2017년 12월 13일
Hi there, I have the same issue. Did you manage to solve it?
  댓글 수: 1
Platon Patlakas
Platon Patlakas 2017년 12월 13일
No actually. Left it like this! Sorry..

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


David Shohami
David Shohami 2020년 10월 22일
편집: David Shohami 2020년 10월 22일
Not the solution you were looking for, but what I did was use
set (t, 'VerticalAlignment', 'cap');
which placed the labels just below the contour, instead of on top of it.

카테고리

Help CenterFile Exchange에서 Contour Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by