two data sets & two colorbars on same figure
2 views (last 30 days)
Show older comments
I have a figure representing a topographic map. after plotting it, i want to change the values within the circle for values ranging from 0 to 1 according to some criteria (variable zp in the code).
in the final figure i want to present both the topographic map and the map within the circle, but to use different colorbar for them.
so, a couple of questions:
1. the value within the circle is a scalar field, so how do i plot it?
2. how do i create a separate colorbar only for the data within the circle?
here's the code (unfortunately maps.mat is too big for uploading):
if ~exist('TOPO','var')
load('maps.mat');
end
z=TOPO; ppd=512;
%z=TOPOels; ppd=128;
R=1737;
kmpd=2*pi*R/360;
res=kmpd/ppd;
r=7.5;
lat0=-38;
x=(1:size(z,2))*(res*cosd(lat0));x=x-mean(x);
y=(1:size(z,1))*(res); y=y-mean(y);
imagesc(x,y,z); axis tight ij equal; hold on;
plot(sin(th)*r,cos(th)*r,'-k'); hold on;
[yy,xx]=ndgrid(y,x);
th=linspace(0,2*pi);
d=sqrt(xx.^2+yy.^2)*1e3;
azbw=1;
azbins=-180:azbw:180;
f=find(d<r*1e3);
slaz=zeros(size(f));
% zzr=zeros(size(f));
for i=1:50 %length(f)
xxr=xx-xx(f(i)); yyr=yy-yy(f(i));
az=atan2d(yyr,xxr);
d=sqrt(xxr.^2+yyr.^2)*1e3;
h=z-z(f(i));
h=h-d.^2/(2.*R*1e3);
sl=atand(h./d);
fd=find(d>3*res*1e3);
slfd=sl(fd);
idx=find(slfd(:)>3);
slaz=unique(round(az(idx))); % in what azimuths relative to the point are obstacles
zp(i)=length(slaz)/length(azbins);
%%% now i want to plot zp(i) in the point (xx(f(i)),yy(f(i)))
end
0 Comments
Answers (1)
Image Analyst
on 28 Jan 2018
Use subplot()
subplot(1, 2, 1);
% Now plot first graph or image.
subplot(1, 2, 2);
% Now plot second graph or image.
See Also
Categories
Find more on Colormaps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!