Если другие ответы не дают вам достаточного контроля над стрелками с помощью функции стрелок, вы можете использовать функцию my.symbols
из пакета TeachingDemos
. Это позволяет вам создавать свои собственные стрелки и наносить их на график.
Функция ms.arrows
в том же пакете показывает один из способов сделать это: вы можете изменить эту функцию (или другие функции ms.*
), чтобы создать любой тип стрелки, который вы хотите, а затем использовать my.symbols
для подготовить их.
Редактировать
Вот пример по запросу:
library(TeachingDemos)
ms.arrowhead <- function(angle, ...) {
xy <- cbind( c(-1, -0.75, -1, 0),
c(-0.5, 0, 0.5, 0) )
xy <- xy %*% matrix(c(cos(angle),-sin(angle),sin(angle),cos(angle)), 2)
xspline(xy, shape=c(0, -1, 0, 0), open=FALSE, ...)
}
plot(1:10, 1:10)
my.symbols(1:10, 1:10, ms.arrows, angle=seq(pi, 0, length=10),
col='blue', adj=1, length=0, symb.plots=TRUE)
my.symbols(1:10, 1:10, ms.arrowhead, angle= seq(pi, 0, length=10),
col='green', inches=0.5, lwd=2, symb.plots = TRUE)
При этом используется функция xspline
для рисования треугольника с изогнутой спиной в качестве стрелки. Точки могут быть изменены, чтобы получить наконечник стрелки другой формы, или другой метод может быть использован для формы.