箭头()只能画一个箭头吗?

时间:2015-08-05 15:42:24

标签: r graphics

有没有办法在没有它的身体的情况下绘制一个箭头'用R图形包?

plot(0, type="n", ann=FALSE, axes=FALSE, xlim=c(0,1), ylim=c(0,1))
arrows(x0=0.5, y0=0.2, x1=0.5, y1=0.9) # without the line '|'?

所以我基本上只想绘制一个箭头(或者例如三角形), 但它必须与R图形包(基本图形)。我希望 避免不得不自己画箭头(segments()会很好 这样做的方法?)。

1 个答案:

答案 0 :(得分:1)

你可以尝试这个简单的事情:

<svg viewBox="0 0 100 50" preserveAspectRatio="xMinYMin slice" style="width:99%; height:99%">...</svg>

可以轻松改进。与arrowhead <- function(x0, y0, x1, y1, length = 0.25, angle = 30,...){ t = atan2(y1-y0, x1-x0) a1 = pi+t+angle*pi/180 a2 = pi+t-angle*pi/180 e1x = x1 + length*cos(a1) e1y = y1 + length*sin(a1) e2x = x1 + length*cos(a2) e2y = y1 + length*sin(a2) lines(c(e1x,x1,e2x),c(e1y,y1,e2y),...) } 的最大区别在于箭头大小是以小区为单位而不是“英寸”。您可以通过使用arrows来解决这个问题。

xinch替换为lines,并在polygon args中指定一种颜色,以获得稳固的箭头。