SeedRandom[1]
al = BezierFunction[RandomReal[{-1, 1}, {14, 2}]];
be = BezierFunction[RandomReal[{-1, 1}, {20, 2}]];
You can temporarily redefine Line
as Arrow
using Block
and use ParametricPlot
:
Block[{Line = Arrow},
ParametricPlot[{al[t], be[t]}, {t, 0, 1}, PlotRange -> All, Frame -> True, Axes -> False]]
Alternatively, you can use Graphics
Graphics[{Thick,
MapThread[{#, Arrow[#2 /@ Subdivide[200]]} &,
{ColorData[97] /@ {1, 2}, {al, be}}]},
Frame -> True]
same picture
You can specify the size and position of the arrow heads using the directive Arrowheads[{{size, pos}}]
:
Block[{Line = Arrow},
ParametricPlot[{al[t], be[t]}, {t, 0, 1},
PlotStyle -> Arrowheads[{{.05, .75}}], PlotRange -> All,
Frame -> True, Axes -> False]]
Alternatively, with Graphics
:
Graphics[{Arrowheads[{{.05, .75}}], Thick,
MapThread[{#, Arrow[#2 /@ Subdivide[200]]} &, {ColorData[97] /@ {1, 2}, {al, be}}]},
Frame -> True]
same picture
ParametricPlot[{Sin[u], Sin[2 u]}, {u, 0, 2 Pi}] /. Line[x__] :> Arrow[x]
$\endgroup$ParametricPlot[{Sin[u], Sin[2 u]}, {u, 0, 2 Pi}] /. Line[x__] :> Sequence[Arrowheads[.5], Arrow[x]]
(adjust size of arrowhead as needed). This might not be robust in all situations. $\endgroup$