在R ggplot2中创建双线/双箭头

在R ggplot2中创建双线/双箭头,r,ggplot2,R,Ggplot2,我正在尝试创建带有双线的箭头。我找不到具有两条平行线的线型。这就是我到目前为止所做的: library(ggplot2) library(grid) df_dblarrow <- data.frame(x0=1,y0=1,x1=3,y1=1) br <- 0.02 p <- ggplot(df_dblarrow, aes(x=x0,y=y0))+ geom_point(size=5)+ ylim(0,2) #create a single arrow (p <

我正在尝试创建带有双线的箭头。我找不到具有两条平行线的线型。这就是我到目前为止所做的:

library(ggplot2)
library(grid)

df_dblarrow <- data.frame(x0=1,y0=1,x1=3,y1=1)
br <- 0.02

p <- ggplot(df_dblarrow, aes(x=x0,y=y0))+
  geom_point(size=5)+
  ylim(0,2)

#create a single arrow
(p <- p + geom_segment(aes(xend=x1,yend=y1), 
                 arrow = arrow(angle=30,length=unit(0.1,"npc"), type = "open")))

#create a two parallel lines 0.02 higher and lower (and a bit shorter)
(p <- p + geom_segment(aes(x=x0,y=(y0+br),xend=(x1-0.015),yend=(y1+br))) +
     geom_segment(aes(x=x0,y=(y0-br),xend=(x1-0.015),yend=(y1-br))))
库(ggplot2)
图书馆(网格)

df_dblarrow可以使中间线的长度很短(不能为零或箭头方向不确定)


聪明,我没有想到这一点(+1)。然而,我仍然需要通过反复试验找到正确的宽度和较短的距离。并提出一个计算方法来处理其他角度的直线。难道没有更自动的方法吗?
#create a single arrow
p + 
  geom_segment(aes(x= x1 -(x1-x0)/100, xend=x1, yend=y1), 
               arrow = arrow(angle=30, length=unit(0.1,"npc"), 
                             type = "open")) +
#create a two parallel lines 0.02 higher and lower (and a bit shorter)
  geom_segment(aes(x=x0,y=(y0+br),xend=(x1-0.015),yend=(y1+br))) +
  geom_segment(aes(x=x0,y=(y0-br),xend=(x1-0.015),yend=(y1-br)))