Problem longitude and latitude contour in a surface plot

2 ビュー (過去 30 日間)
Miguel andres
Miguel andres 2020 年 5 月 26 日
コメント済み: darova 2020 年 5 月 30 日
Hi all,
I try to overlay the contour of the coastline of the Strait of Gibraltar into my surface plot of my datas. The bathymetry that I use is from ETOPO, and it´s the one that the has been used for the hidrodynamic model that I use. I reshape the matriz with imresize so both datas has the same dimension and the I plot it.
My problem is when I plot the supossed contour of the coast because it does't match with the end of my data.
Do you know if there is a solution for this??
Thank you in advance.
  4 件のコメント
darova
darova 2020 年 5 月 28 日
The size of the datas of the bathymetry (the values=0 are the contour) is 55x87 whre:
bat_lon= 87x1
bat_lat=55x1
bat_altitude=44x87
Try to interpolate bat_lat variable
bat_lat1 = interp1(1:55,bat_lat,linspace(1,55,44));
Miguel andres
Miguel andres 2020 年 5 月 29 日
Thank you!
But this didn,t work, because the batimetry that holds the values is bat_altitude.
I think I should interpolate that variable with interp2 so I obtain a matrix 40x144.
I tried this but I get an error, maybe you can help with the code.
bat_altitude1=interp2(1:87,1:55,bat_altitude,linspace(1,87,40),linspace(1,55,144));
Thank you again

サインインしてコメントする。

回答 (1 件)

darova
darova 2020 年 5 月 29 日
Sure, use meshgrid
[m,n] = size(bat_latitude);
xx = linspace(1,n,40);
yy = linspace(1,m,144);
[x1,y1] = meshgrid(xx,yy);
[x,y] = meshgrid(1:n,1:m);
bat_altitude1 = interp2(x,y,bat_altitude,x1,y1);
  6 件のコメント
Miguel andres
Miguel andres 2020 年 5 月 30 日
Here ir the link to google drive:
I plot the velocity as:
figure
peak_vel_atl=pcolor(lon,lat,peak_mod_atl);colormap jet; colorbar,caxis([0 5])
peak_vel_atl,EdgeAlpha=0,caxis
shading interp
Thank you
darova
darova 2020 年 5 月 30 日
Whoa, 200mb, that is too much
Can't you overlay your contour using existing coordinates?
Example
[X,Y] = deal(zeros(20));
t = linspace(-1,1,20)*pi/4; % define angle fo arc part
[x,y] = pol2cart(t,2); % get cartesian arc coordinates
for i = 1:20
X(:,i) = linspace(x(i),5,20);
Y(:,i) = linspace(y(i),tan(t(i))*5,20);
end
Z = X*0; % Z = 0 (flat)
pcolor(X,Y,Z)
line(X(:,[1 end]),Y(:,[1 end]),'linew',2,'color','b')
line(X([1 end],:)',Y([1 end],:)','linew',2,'color','b')
axis equal

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLighting, Transparency, and Shading についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by