Put arrows on a continuous line plot to show direction of evolution

91 views (last 30 days)
Hello everybody
What I am trying to do is yo show, through, for example, the quiver function, the direction of evolution of my data points. My data point is given in the following file, "Quiver_Data.txt". Since I would like the arrowhead to appear every certain number of elements in the arrays due to the density of points, I have tried this approach in line with what is exposed in this post: Is it possible to connect points on a scatter plot with arrows instead of a line?
array=load('C:\...\Quiver_Data.txt');
dx=diff(array(:,1));
dy=diff(array(:,2));
u1=figure(1)
plot(array(:,1),array(:,2).*((10^(-12))),'-b','LineWidth',2)
hold on
quiver(array(1:100:end-1,1),array(1:100:end-1,2),dx(1:100:end),dy(1:100:end),0)
However, the result is far from being the desired one, as you can see when plotting that.
Any ideas?

Answers (1)

KSSV
KSSV on 22 Jul 2021
Edited: KSSV on 23 Jul 2021
Try this:
data = importdata('Quiver_Data.txt') ;
x = data(:,1) ;
y = data(:,2) ;
dx = gradient(x) ;
dy = gradient(y) ;
quiver(x,y,dx,dy,10^-11)

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!