Avoid turning plot when on a figure

Hello!
I need to plot x and y coordinates over a figure representing a map, which will be displayed at a viewport on the rightop of the figure.
However, when I use the code below, it works, but y coordinates of the points are flipped. Using only the first three lines of the code places the figure properly; using the code without the image function places the points in the correct position. When I run the whole code, y-axis flips and y-coordinates are plotted flipped. I tried set(gca,'Ydir','reverse'), but it did not work.
Any help?
Thanks.
ha2=axes('position',[0.75, 0.55, .22,.42,]); % position of the viewport
image(mapabase,'XData',[-49.7 -48.7],'YData',[1.12 1.67]) %image workin as a map
hold on
for k=1:1:qtde_psgns
plot(navios_cel{k}(:,4),navios_cel{k}(:,3),'.','markers',5); %coordinates of several surveys
end
grid on
hold off
xlim ([-49.7 -48.7])
ylim ([1.12 1.67])

 Accepted Answer

"I tried set(gca,'Ydir','reverse'), but it did not work."
That's because for image() plots the ydir is already set to 'reverse'. You want to set it to 'normal'.
ha2.YDir = 'normal'
% or
set(ha2, 'YDir', 'normal')

4 Comments

Diego Fonseca
Diego Fonseca on 20 Aug 2019
Edited: Diego Fonseca on 20 Aug 2019
Thanks for your answer. However, when I apply ha2.YDir = 'normal', the points x and y are plotted properly, but the image flips. Is there anyway of having both (figure and points) plotted in the proper direction as I want them to represent a map?
Adam Danz
Adam Danz on 20 Aug 2019
Edited: Adam Danz on 20 Aug 2019
Yes! :)
You can follow this demo.
The key is to use flipud() to flip the data prior to executing imagesc().
Thanks a lot. It worked perfectly!!!
Nice! ;)
High five!

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products

Release

R2017b

Community Treasure Hunt

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

Start Hunting!