Is it possible to connect points on a scatter plot with arrows instead of a line?
    21 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
Hello,
I am looking to show how oxygen and carbon covary over time in a simple x-y scatterplot. However, instead of the points being connected by lines, I'd like them to be connected by arrows. Is it possible to do this on MatLab or would I need to export the figure and insert the arrows using Adobe?
Here is an example of a plot code:
% Inflata
figure('Color','w');
plot(c13xi87,o18xi87);
ylabel('G. Inflata \delta^1^8O');
set(gca,'YDir','reverse');
xlabel('G. Inflata \delta^1^3C');
5 Kommentare
  Walter Roberson
      
      
 am 9 Aug. 2017
				"A scatterplot consists of an X axis (the horizontal axis), a Y axis (the vertical axis), and a series of dots. Each dot on the scatterplot represents one observation from a data set. The position of the dot on the scatterplot represents its X and Y values."
Notice the reference to "dots". If you are connecting anything, you do not have a scatter plot. You might have a time series plot, or a series of time series plots.
Antworten (3)
  aborghes
      
 am 7 Aug. 2017
        
      Bearbeitet: Walter Roberson
      
      
 am 8 Jun. 2020
  
      Hi Vince, I would recommend using the quiver() function. The doc for it is located here: https://mathworks.com/help/releases/R2017a/matlab/ref/quiver.html 
You can do something like the following code, assuming both data-sets are 1-D matrices
for i=1:length(c13xi87) - 1
    p1 = [c13xi87(i) o18xi87(i)];
    p2 = [c13xi87(i+1) o18xi87(i+1)];
    dp = p2 - p1;
    quiver(p1(1),p1(2),dp(1),dp(2),0);
    hold on
end
hold off
1 Kommentar
  Walter Roberson
      
      
 am 7 Aug. 2017
        1 Kommentar
  Walter Roberson
      
      
 am 9 Aug. 2017
				Or possibly it would make sense to use stream2() or stream3() in connection with streamlines()
  José-Luis
      
 am 8 Aug. 2017
        
      Bearbeitet: José-Luis
      
 am 8 Aug. 2017
  
      x = rand(10,1);                        
y = rand(10,1);                        
dx = diff(x);
dy = diff(y)
plot(x,y,'ro');
hold on
quiver(x(1:end-1),y(1:end-1),dx,dy,0)
1 Kommentar
  Farshid Tazesh
 am 5 Jun. 2020
				Hi Jose. I used your code. Very helpfull. Thank you so much for sharing.
- Farshid
Siehe auch
Kategorien
				Mehr zu Scatter 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!




