我正在尝试用双线创建箭头。我找不到有两条平行线的线型。这就是我到目前为止所做的:
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))))
这给出了一个带有树线的图形,而不是我想要的2,所以我必须删除中间的一个。
这太过于苛刻了。我曾想过使用一条宽黑线,顶部有一条较细的白线,但我的箭头也比较宽。有没有人有更好的主意?
答案 0 :(得分: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)))