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

159 Ansichten (letzte 30 Tage)
Richard Wood
Richard Wood am 22 Jul. 2021
Bearbeitet: KSSV am 23 Jul. 2021
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?

Antworten (1)

KSSV
KSSV am 22 Jul. 2021
Bearbeitet: KSSV am 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)

Kategorien

Mehr zu Vector Fields 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!

Translated by