How to remove horizontal lines as plotting 0-360 degree map

5 visualizzazioni (ultimi 30 giorni)
Hi, I am using following codes to plot a 0-360 degree map, can anyone please help to show me how to remove the horizontal lines on the map created. Athough plot(X,Y,'.') does not show those lines, I wanted to plot the coastlines instead of points. Thanks in advance!
Coast=load('Coast.mat');
X=Coast.long;
Y=Coast.lat;
X(X<=0)=X(X<=0)+360;
plot(X,Y);
  2 Commenti
Chunru
Chunru il 6 Giu 2021
If you have mapping toolbox:
f= worldmap('world')
plotm(Coast.lat, Coast.lon)
Thao Linh Tran
Thao Linh Tran il 6 Giu 2021
Thank you but I wanted to use plot instead of plotm.

Accedi per commentare.

Risposte (3)

wentao ma
wentao ma il 1 Dic 2021
coastlon(abs(diff(coastlon))>180+1)=nan;
  1 Commento
Cristina Radin
Cristina Radin il 2 Feb 2022
Hi! You are right, thank you!
The complete code:
load coastlines
coastlonWrapped = wrapTo360(coastlon);
index=abs(diff(coastlonWrapped))>180+1;
pos=find(index==1) %to be sure
pos = 9×1
371 4311 4420 4991 4994 4998 5076 8063 8077
coastlonWrapped(pos)=NaN;
plot(coastlonWrapped,coastlat)

Accedi per commentare.


KSSV
KSSV il 6 Giu 2021
Modificato: KSSV il 6 Giu 2021
Coast=load('Coast.mat');
X=Coast.long;
Y=Coast.lat;
% X(X<=0)=X(X<=0)+360;
X = X+180 ; Y = Y+180 ;
plot(X,Y);
  5 Commenti
KSSV
KSSV il 6 Giu 2021
180 is added to X and Y, lon and lat are also changed.
Thao Linh Tran
Thao Linh Tran il 6 Giu 2021
But the Western North Pacific is splitted into two parts by that way.

Accedi per commentare.


SALAH ALRABEEI
SALAH ALRABEEI il 6 Giu 2021
Make sure to clear the figure before plotting because the coast.mat does not have these lines.

Community Treasure Hunt

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

Start Hunting!

Translated by