【问题标题】:How can I draw the contour of a segment如何绘制段的轮廓
【发布时间】:2013-08-16 13:14:13
【问题描述】:

我正在使用 R 函数 segments,想知道如何“围绕”线段(轮廓)绘制黑色。

plot(0)
segments(.9,.1,.8,.3, lwd=10, lend='square', col='pink')

在这里,我会在粉红色部分周围得到一个黑色矩形

【问题讨论】:

  • 段是线段。因此,它们没有“轮廓”。使用 polygon() 得到你想要的。
  • 你可以画两次,第一次是黑色,大号 (lwd=12),然后是粉色,小号 (lwd=10)。
  • @VincentZoonekynd 写下来作为答案。

标签: r graphics plot segments


【解决方案1】:

您可以画两次,第一次是黑色,大号 (lwd=12),然后是粉色,小号 (lwd=10)。

plot(0)
segments(.9,.1,.8,.3, lwd=12, lend='square', col='black')
segments(.9,.1,.8,.3, lwd=10, lend='square', col='pink')

【讨论】:

    【解决方案2】:

    这很乱,但我还是把它放在了一起。

    draw.rect <- function(x1=0.9,y1=0.1,x2=0.8,y2=0.3,width=0.05){
      ang <- atan((y2-y1)/(x2-x1))
      xshift <- width*sin(ang)
      yshift <- width*cos(ang)
      polygon(x=c(x1,x2,x2-xshift,x1-xshift),y=c(y1,y2,y2+yshift,y1+yshift),col="pink")
    }
    

    它将允许您使用相同的坐标。您可以使用 width 参数调整矩形的大小。我认为@VincentZoonekynd 有一个很棒的主意,可以将片段绘制两次。这个粗略的函数不会使矩形在提供的坐标上居中,尽管您可以很容易地调整它来做到这一点。

    【讨论】:

      猜你喜欢
      • 2021-09-07
      • 2018-07-09
      • 2020-02-06
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多