How can i superimpose image on plot?
10 views (last 30 days)
Show older comments
As per given attachment, i want to draw 2D plot.Please guide me on this
0 Comments
Accepted Answer
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])
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
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]);
More Answers (1)
DGM
on 11 Oct 2023
See also:
A custom image (with transparency) following a plot trace to form an animation:
https://www.mathworks.com/matlabcentral/answers/1714065-add-a-moving-image-over-a-plotted-trajectory
Using a custom image (with transparency) as a custom plot marker:
0 Comments
See Also
Categories
Find more on Creating, Deleting, and Querying Graphics Objects 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!