how to plot multiple graph on top of images together?
2 views (last 30 days)
Show older comments
Suppose there are multiple numbers of images and I have to plot graph over each one of them and display all of them together. How can I do it?
2 Comments
DGM
on 4 Jul 2022
That's a remarkably vague description.
Are the images already in the workspace, or do they have to be generated/read?
What kind of plot? A line plot? A contour? A filled contour?
How is the plot aligned to the image?
How do you want to display them "together"? Do the plots share a similar domain and range such that you intend to display them in the same axes? Are they to go in separate axes? Do axes decorations matter, or is the goal to just create a montage?
Answers (1)
DGM
on 4 Jul 2022
Edited: DGM
on 4 Jul 2022
This is an oversimplified example:
% a picture comes from somewhere
A = imread('peppers.png');
% some data comes from somewhere
x = linspace(0,2*pi,100);
y = sin(x);
% get data range
xrange = min(x)+[0 range(x)];
yrange = min(y)+[0 range(y)];
% display the image
hi = image(xrange,yrange,A); hold on
% display the plot
hp = plot(x,y,'c');
How exactly the plot and image need to be located/scaled with respect to each other is something you'll have to decide. If there are multiple images, read/create them and then plot them in subplots using a loop.
There are other examples of overlaying plots on images. Here is one using contourf():
See Also
Categories
Find more on Line Plots 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!