美文网首页
【R语言】绘制箭头(一)

【R语言】绘制箭头(一)

作者: 生信交流平台 | 来源:发表于2022-04-04 20:59 被阅读0次

    我们在绘图的时候,有时候需要在图中特殊指出某一部分,或者突出某一部分,这个时候就需要用到箭头了。

    今天小编就来跟大家聊一聊,R中绘专门绘制箭头的arrows函数。函数的用法和参数如下:

    我们结合几个具体的例子来深入的解析一下这个函数。

    #绘制散点图
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6))
    #添加一个箭头,从二维空间中(1,1)到(4,4)
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4)
    

    效果如下

    我们也可以同时绘制两个箭头

    #绘制散点图
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6))
    #同时绘制两个箭头,一个从(1,1)到(4,4),另一个从(1,2)到(4,5)
    #颜色分别为红色和蓝色
    arrows(x0 = c(1, 1),  y0 = c(1, 2),  
           x1 = c(4, 4), y1 = c(4, 5),
           col=c("red","blue")
           )
    

    效果如下

    接下来,我们来看看length这个参数的作用。我们还是通过具体的例子来看效果。

    #三张图并排一起,mfrow = c(1,3),一行三列
    par(mfrow = c(1,3))
    #length = 0.1
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), main = "length = 0.1")
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 0.1)
    #length = 0.5
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6),  main = "length = 0.5")
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 0.5)
    #length = 1
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6),  main = "length = 1")
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 1)
    

    效果是这样的,可以看出length这个参数控制箭头,头部的长度。

    同样的,我们可以看看参数code的作用。

    #三张图并排一起,mfrow = c(1,3),一行三列
    par(mfrow = c(1,3))
    #code = 1
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), main = "code = 1")
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, code = 1)
    #code = 2
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), main = "code = 2")
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, code = 2)
    #code = 3
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), main = "code = 3")
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, code = 3)
    

    效果如下,可以看出

    code = 1 代表箭头由终止点指向起始点

    code = 2 是默认值,箭头由起始点指向终止点

    code = 3 代表在起始点和终止点两端都标上箭头

    最后我们来看看参数angle的作用。

    #三张图并排一起,mfrow = c(1,3),一行三列
    par(mfrow = c(1,3))
    #angle = 15
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6),  main = "angle = 15")
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 0.5, angle = 15)
    #angle = 45
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), main = "angle = 45")
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 0.5, angle = 45)
    #angle = 60
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6),  main = "angle = 60")
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 0.5, angle = 60)
    

    可以看出angle这个参数控制的是箭头和箭身之间的夹角的大小。

    当然我们还有其他的一下通用的参数,如col , lty ,lwd 等

    #col控制颜色,lwd控制线的粗细,lty控制线的类型
    #lty=1,实线,lty=2,虚线,
    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6))
    arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, col = "red", lwd = 5, lty = 3)
    

    效果如下

    关于lty,lwd的具体值和对应的效果,可以参考下图。

    最后,我们来个“毕业大戏”,这里就不写注释了,看到这里应该也能看得懂了。

    plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6))
    arrows(x0 = c(1,3,5,3), y0 = c(3,1,3,5), x1 = c(3,3,3,3), y1 = c(3,3,3,3), 
           col = c("red","blue","yellow","green"),
           code=1,
           angle=30,
           length=0.6,
           lwd = c(1,2,3,4), 
           lty = c(1,2,3,4)
           )
    

    检阅

    【R语言】绘制箭头(一)

    相关文章

      网友评论

          本文标题:【R语言】绘制箭头(一)

          本文链接:https://www.haomeiwen.com/subject/yuqhsrtx.html