overplot contours on image

How can I overplot contours on an image? The image and the contours have different limits. I tried plotting the image using the bottom x-axis and left y-axis and the contrary for the contours. But it doesn't work.
My code:
imagesc(1:100,1:100,C)
ax1 = gca;
ax2 = axes('Position',get(ax1,'Position'),...
'XAxisLocation','top','YAxisLocation','right',...
'Color','none',...
'XColor','k','YColor','k');
contour(ax2,Z)
This only displays the contours. I am unable to see the image.
Can someone provide any assistance?

 Accepted Answer

Angus
Angus on 19 Jun 2013

0 votes

Regardless of limits, you need to use 'hold on' before executing the contour function or it will always overwrite the image that is in the axis.
If you have tried this then let me know and ill look at it again. That was just what first jumped out at me :)

5 Comments

Tried with the "hold on" option. Still only the contours are visible
Tried testing this and it seemed to work as you had desired when using 'hold on' before plotting the contours. I have 1 to 110 along the top and right while only 1 to 100 along the left and bottom. My image shows with contours overlaid.
Hope this simple fix works for you.
Strange, thats too bad. Okay what are you dimensions for 'C' and 'z'? What kind of data are they?
Placed the hold on at a wrong place. Now it works!
Thank you.
Great! Haha, I wasn't too sure where to go from there, glad that worked.
Cheers, Angus.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 19 Jun 2013

Community Treasure Hunt

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

Start Hunting!