How can i superimpose image on plot?

10 views (last 30 days)
Sumit
Sumit on 5 Oct 2023
Answered: DGM on 11 Oct 2023
As per given attachment, i want to draw 2D plot.Please guide me on this

Accepted Answer

Image Analyst
Image Analyst on 5 Oct 2023
Try this, and see attached demos. Adapt as needed.
% Draw a small image inset in the upper right corner of a larger plot.
% Ref: https://www.mathworks.com/matlabcentral/answers/60376-how-to-make-an-inset-of-matlab-figure-inside-the-figure#comment_654093
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 18;
x = linspace(0, 1);
y1 = sin(2*pi*x);
figure(1)
% plot on large axes
plot(x, y1, 'LineWidth', 2)
grid on;
ax1 = gca; % Store handle to axes 1.
% Create smaller axes in top right, and plot on it
% Store handle to axes 2 in ax2.
ax2 = axes('Position',[.6 .6 .3 .3])
ax2 =
Axes with properties: XLim: [0 1] YLim: [0 1] XScale: 'linear' YScale: 'linear' GridLineStyle: '-' Position: [0.6 0.6 0.3 0.3] Units: 'normalized' Use GET to show all properties
box on;
fileName = 'peppers.png';
rgbImage = imread(fileName);
imshow(rgbImage);
axis('on', 'image');
% Now draw something back on axis 1
hold(ax1, 'on'); % Don't blow away existing curve.
y2 = cos(2*pi*x/0.7);
plot(ax1, x, y2, 'r-', 'LineWidth', 2);
  4 Comments
Sumit
Sumit on 11 Oct 2023
In position vector only i am facing problem. I will figure it out
Thanks
Image Analyst
Image Analyst on 11 Oct 2023
OK. The form is [x, y, width, height] for the lower left corner of the inset image, so you have to figure out what all those values are. If you want to move the axes, then you must delete the old one before setting the new one.
delete(ax2); % Delete old inset image.
% Make new axes in a new place.
ax2 = axes('Position',[xLeft, yBottom, imageWidth, imageHeight]);

Sign in to comment.

More Answers (1)

DGM
DGM on 11 Oct 2023
See also:
A custom image (with transparency) following a plot trace to form an animation:
Using a custom image (with transparency) as a custom plot marker:

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!