Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Line plot with arrows in matplotlib

I have a line graph that I want to plot using arrows instead of lines. That is, the line between successive pairs of points should be an arrow going from the first point to the second point.

I know of the arrow function, but that only seems to do individual arrows. Before I work out a way to try and use this to do a whole plot, is there a nicer way to do it?

like image 725
robintw Avatar asked Sep 22 '11 18:09

robintw


2 Answers

You can do this with quiver, but it's a little tricky to get the keyword arguments right.

import numpy as np import matplotlib.pyplot as plt  x = np.linspace(0, 2*np.pi, 10) y = np.sin(x)  plt.figure() plt.quiver(x[:-1], y[:-1], x[1:]-x[:-1], y[1:]-y[:-1], scale_units='xy', angles='xy', scale=1)  plt.show() 

enter image description here

like image 50
tom10 Avatar answered Sep 22 '22 19:09

tom10


You could superpose a quiver plot on your line plot.

like image 39
Avaris Avatar answered Sep 22 '22 19:09

Avaris