Подтвердить что ты не робот

Изменить стрелку стрелок()

Интересно, можно ли изменить стрелку стрелки, нарисованной с помощью arrows(). Я просмотрел документацию, но все, что я нашел, это то, что я могу изменить конец строки, но не стрелки?

plot(c(1:10))
arrows(0,0,10,10)

Любая помощь приветствуется:)

4b9b3361

Ответ 1

как описано в ?arrow, вы можете использовать length и angle, чтобы изменить внешний вид стандартных стрелок. С помощью lwd вы можете изменить толщину, точно так же, как в строках(). Также работает lty, хотя результат часто не совсем хорош.

Весь набор примеров:

plot(c(0:10),type="n")

arrows(1,0,2,1,length=0.2,angle=20)
arrows(1,1,2,2,length=0.1,angle=40,lwd=3)

invisible(mapply(arrows,
        rep(c(3,6),each=4),rep(3:6,2),
        rep(c(5,8),each=4),rep(5:8,2),
        angle=seq(10,40,length.out=8),
        length=rep(seq(0.1,0.3,length.out=4),2),
        lwd=rep(1:4,each=2))
)

Ответ 2

Карлин Soetaert пакет shape полезен для этой цели:

library(shape)
plot(c(0,2),c(-2,2), col=NA)
Arrows(c(0,1.7),c(1.3,-1.8),c(0.8,1.1),c(1.2,-1), lwd=2)

По умолчанию используется заполненная изогнутая стрелка, удобная для просмотра:

enter image description here

Надо любить КРАН!

Ответ 3

Если другие ответы не дают вам достаточного контроля над стрелками, используя функцию стрелок, вы можете использовать функцию my.symbols, от TeachingDemos. Это позволяет вам создавать свои собственные стрелки и строить их.

Функция ms.arrows в том же пакете показывает один из способов: вы можете изменить эту функцию (или другие функции ms.*) для создания любого типа стрелки, которую хотите, а затем использовать my.symbols для заговорите их.