how can I plot a graph over an image in Matlab?
240 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
DARSHAN KUMAR BISWAS
am 30 Jun. 2022
Kommentiert: Adam Danz
am 5 Jul. 2022
I want to plot the graph over the 1st image.
0 Kommentare
Akzeptierte Antwort
Kevin Holly
am 30 Jun. 2022
Load Example Image
exampleimage = imread('peppers.png');
Flip the image vertically (y-axis direction will be flipped vertically later)
exampleimage = flipud(exampleimage);
Display image
imshow(exampleimage)
Use hold on so more children can be added to the axes
hold on
Create scatter plot
x=1:20:300;
y=x;
scatter(x,y,'filled','w')
Change y-dir to normal (Note, y-dir is upside down when images are displayed by default)
set(gca,'YDir','normal') %gca stand for get current axes
Weitere Antworten (2)
Adam Danz
am 30 Jun. 2022
Plot the image using image or imagesc or some other image function that allows you to specify the x and y values of the image. That way you set the image coordinates to the data coordinates.
Then just hold on and plot the data into the same axes.
Note that image functions flip the y axis so you may need to flip it back to normal using set(gca, 'YDir','Normal') or flip your data when you plot it.
If you have additional questions, share the code you've got so far and let us know specificially where you're stuck.
2 Kommentare
Rik
am 30 Jun. 2022
You need to use the same axes. The easiest solution is to use hold, probably the line below will already do what you need:
hold(gca,'on')
Siehe auch
Kategorien
Mehr zu Line Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!