当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R polypath 路径绘制


R语言 polypath 位于 graphics 包(package)。

说明

path 绘制一条路径,其顶点在 xy 中给出。

用法

polypath(x, y = NULL,
         border = NULL, col = NA, lty = par("lty"),
         rule = "winding", ...)

参数

x, y

包含路径顶点坐标的向量。

col

填充路径的颜色。默认值 NA 是不填充路径。

border

绘制边框的颜色。默认值 NULL 表示使用 par("fg") 。使用 border = NA 省略边框。

为了与S兼容,border也可以是逻辑的,在这种情况下,FALSE相当于NA(省略边框),TRUE相当于NULL(使用前景色),

lty

要使用的线类型,如par 中。

rule

指定路径填充模式的字符值: "winding""evenodd"

...

graphical parameters 例如 xpdlendljoinlmitre 可以作为参数给出。

细节

坐标可以在绘图结构(包含 xy 组件的列表)、两列矩阵等中传递。请参阅 xy.coords

假设通过将最后一个点连接到第一个点来闭合路径。

坐标可能包含缺失值。该行为与 polygon 类似,不同之处在于 NA 值不是将一个多边形分解为多个多边形,而是将路径分解为多个 sub-paths(包括将每个 sub-path 中的最后一个点封闭到第一个点) 。请参阅下面的示例。

路径和多边形之间的区别在于前者可以包含孔(由填充规则解释);如果路径边界分别包围该区域奇数或非零次数,则它们将填充该区域。

(当前)不支持阴影阴影(如 polygon() 的实现)。

并非所有图形设备都支持此函数:例如xfigpictex 不支持。

例子

plotPath <- function(x, y, col = "grey", rule = "winding") {
    plot.new()
    plot.window(range(x, na.rm = TRUE), range(y, na.rm = TRUE))
    polypath(x, y, col = col, rule = rule)
    if (!is.na(col))
        mtext(paste("Rule:", rule), side = 1, line = 0)
}

plotRules <- function(x, y, title) {
    plotPath(x, y)
    plotPath(x, y, rule = "evenodd")
    mtext(title, side = 3, line = 0)
    plotPath(x, y, col = NA)
}

op <- par(mfrow = c(5, 3), mar = c(2, 1, 1, 1))

plotRules(c(.1, .1, .9, .9, NA, .2, .2, .8, .8),
          c(.1, .9, .9, .1, NA, .2, .8, .8, .2),
          "Nested rectangles, both clockwise")
plotRules(c(.1, .1, .9, .9, NA, .2, .8, .8, .2),
          c(.1, .9, .9, .1, NA, .2, .2, .8, .8),
          "Nested rectangles, outer clockwise, inner anti-clockwise")
plotRules(c(.1, .1, .4, .4, NA, .6, .9, .9, .6),
          c(.1, .4, .4, .1, NA, .6, .6, .9, .9),
          "Disjoint rectangles")
plotRules(c(.1, .1, .6, .6, NA, .4, .4, .9, .9),
          c(.1, .6, .6, .1, NA, .4, .9, .9, .4),
          "Overlapping rectangles, both clockwise")
plotRules(c(.1, .1, .6, .6, NA, .4, .9, .9, .4),
          c(.1, .6, .6, .1, NA, .4, .4, .9, .9),
          "Overlapping rectangles, one clockwise, other anti-clockwise")

par(op)

参考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press.

也可以看看

segments 具有更大的灵活性,linesrectboxpolygon

par 了解如何指定颜色。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Path Drawing。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。