Image plot with quiver vector overlain

7 views (last 30 days)
Brent Majcher
Brent Majcher on 26 Feb 2022
Commented: Brent Majcher on 26 Feb 2022
Hi,
I am trying to plot a quiver vectors on top of an image (png file).
So far, I have been able to plot the image. However, I am having the following problems....
  1. The y axis is inverted, and I have no idea how to inverse the image
  2. The quiver plot does not show up on top of the image
Can anyone help direct me to some resources on this or help with my code? I would be forever greatful.
Cheers
set(gca,'YDir','normal')
I = imread('GH2017.png');
RI = imref2d(size(I));
RI.XWorldLimits = [335300 336189];
RI.YWorldLimits = [5934952 5935582];
imshow(I,RI)
hold on
quiver(X(:,2),X(:,1),D(:,2),D(:,1));
ylabel('Northing')
xlabel('Easting')
Notes:
  • The quiver plot works with data in X and D matrices, however does not plot on top of the image
  • On a graph, the top left coordinate should be 5935582 and 335300 and the bottom right coordinate should be 5934952 and 336189. Cheers

Answers (1)

Scott MacKenzie
Scott MacKenzie on 26 Feb 2022
Edited: Scott MacKenzie on 26 Feb 2022
quiver is drawing on top of the image. You haven't provided any data or code that can be executed, so it's hard to tell what the problem is. My hunch is that the quiver lines are being drawn off the image. Try swapping the x and y values in quiver:
quiver(X(:,1),X(:,2),D(:,1),D(:,2));
If that doesn't work, please post the data for X and D and we'll dig a little deeper.
  1 Comment
Brent Majcher
Brent Majcher on 26 Feb 2022
You're a beauty. I had survey data in different coordinate system than the image and therefore it was outside of the plot extents. Thanks for the comment, pointed out where I might be wrong.

Sign in to comment.

Categories

Find more on Vector Fields 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!