Drawing Arrows in Graphics with Julia
Code
plot!([x1, x2], [y1, y2], arrow=:true)
This code plots an arrow from point $(x1, y1)$ to point $(x2, y2)$ on the plot. Naturally, the tip of the arrow is at the terminal point $(x2, y2)$. The maximum value of the sine function can be shown as follows.
using Plots
x = range(0, 2π, 100)
plot(x, sin.(x), label="", ylims=(-1.3,1.3))
plot!([π/2, 3], [1, 1.1], arrow=:true, color=:black, label="")
annotate!(3.7, 1.1, "maximum")

Arrow tip
The style of the tip can be chosen as :open or :closed.
- Not specified or 
:true: a polyline $\to$ 
plot!([3π/2, 3], [-1, -1.1], arrow=:open, color=:red, label="")
annotate!(2.3, -1.1, "minimum")

Arrow direction
The direction of the tip can be set to :head, :tail, :both, with :head being the default.
plot!([π/2, π/2], [0, 1], arrow=(:closed, :both), color=:purple, label="")
annotate!(0.75π, 0.5, "amplitude")

In the official documentation1, there are explanations about the headlength and headwidth options, but trying to use them only leads to errors and it is unclear how to use them.
Environment
- OS: Windows11
 - Version: Julia 1.9.0, Plots v1.38.12
 
