Problem longitude and latitude contour in a surface plot
3 次查看(过去 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
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));
回答(1 个)
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 个评论
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
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!