
PNG as figure background
104 views (last 30 days)
Show older comments
Andrew McCall
on 24 Sep 2017
Edited: Kristina Collins
on 29 Aug 2021
I am trying to generate a figure window with a saved PNG as the background. It will have a fluid simulation on top of it and all I want to do it have this saved PNG be the background. Similar to what set(gca,'Color', k) would do but instead of having the color I want to have it be a figure. Any thoughts?
0 Comments
Accepted Answer
Chad Greene
on 24 Sep 2017
Edited: Chad Greene
on 24 Sep 2017
Try this. Start by plotting whatever data you have, then load the png image and plot it with image. Use the limits of the current axes (by xlim and ylim) as the x,y coordinates of the image edges. Some images might be flipped in the vertical direction, so you may have to use -ylim when you call imagesc. The uistack call just sends the image down to the bottom of the stack.
x = 1:500;
y = sind(x);
plot(x,y,'linewidth',3)
axis tight;
hold on
I = imread('peppers.png');
h = image(xlim,-ylim,I);
uistack(h,'bottom')

2 Comments
Mahmud Khan
on 2 Nov 2018
How would it work for a 3D figure though? What if I wanted to use similar images on all three planes (x-y, x-z & y-z)?
I've been trying but failing.
Kristina Collins
on 29 Aug 2021
Edited: Kristina Collins
on 29 Aug 2021
Ah, so close to what I need....
I'm trying to plot some shaded values as a backdrop on a datetime plot. Any tips on how to get this to play nicely with datetime axes?
(Edit: Never mind. Figured out an alternative solution for my particular problem (adding shading to the background to denote another quantity - in this case, eclipse obscuration - using "fill." Breadcrumb for anyone with a similar issue: https://www.mathworks.com/matlabcentral/answers/302892-use-fill-in-a-datetime-value-plot-to-color-the-background)
More Answers (2)
Marijn Dekker
on 10 Dec 2019
@Chad Greene your answer works, however instead of using -ylim you would want to use flip(ylim) for a general case :)
0 Comments
Image Analyst
on 24 Sep 2017
See the Answer from MATLAB Support: https://www.mathworks.com/matlabcentral/answers/96023-how-do-i-add-a-background-image-to-my-gui-or-figure-window
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!