當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


R grid.bezier 繪製貝塞爾曲線

R語言 grid.bezier 位於 grid 包(package)。

說明

這些函數創建並繪製貝塞爾曲線(相對於 4 個控製點繪製的曲線)。

用法

grid.bezier(...)
bezierGrob(x = c(0, 0.5, 1, 0.5), y = c(0.5, 1, 0.5, 0),
            id = NULL, id.lengths = NULL,
            default.units = "npc", arrow = NULL,
            name = NULL, gp = gpar(), vp = NULL)

參數

x

指定樣條控製點x-locations的數值向量或單位對象。

y

指定樣條控製點y-locations的數值向量或單位對象。

id

用於將 xy 中的位置分成多個貝塞爾曲線的數值向量。所有具有相同 id 的位置都屬於同一個貝塞爾曲線。

id.lengths

用於將 xy 中的位置分成多個貝塞爾曲線的數值向量。指定構成單獨貝塞爾曲線的連續位置塊。

default.units

指示 xy 僅作為數值向量給出時使用的默認單位的字符串。

arrow

說明放置在貝塞爾曲線兩端的箭頭的列表,由 arrow 函數生成。

name

字符標識符。

gp

"gpar" 的對象,通常是調用函數 gpar 的輸出。這本質上是圖形參數設置的列表。

vp

網格視口對象(或 NULL)。

...

要傳遞給 bezierGrob 的參數。

細節

這兩個函數都創建一個 beziergrob(說明貝塞爾曲線的圖形對象),但隻有 grid.bezier 繪製貝塞爾曲線。

貝塞爾曲線是相對於 4 個控製點繪製的線。

xy 不允許缺少值(即,缺少控製點是無效的)。

目前該曲線是使用基於X-splines 的近似值繪製的。

一個抓取對象。

例子

x <- c(0.2, 0.2, 0.4, 0.4)
y <- c(0.2, 0.4, 0.4, 0.2)

grid.newpage()
grid.bezier(x, y)
grid.bezier(c(x, x + .4), c(y + .4, y + .4),
            id=rep(1:2, each=4))
grid.segments(.4, .6, .6, .6)
grid.bezier(x, y,
            gp=gpar(lwd=3, fill="black"),
            arrow=arrow(type="closed"),
            vp=viewport(x=.9))

也可以看看

Gridviewportarrow

grid.xspline

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Draw a Bezier Curve。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。