panel.cloud
位於 lattice
包(package)。 說明
默認麵板函數控製cloud
和wireframe
顯示。
用法
panel.cloud(x, y, subscripts, z,
groups = NULL,
perspective = TRUE,
distance = if (perspective) 0.2 else 0,
xlim, ylim, zlim,
panel.3d.cloud = "panel.3dscatter",
panel.3d.wireframe = "panel.3dwire",
screen = list(z = 40, x = -60),
R.mat = diag(4), aspect = c(1, 1),
par.box = NULL,
xlab, ylab, zlab,
xlab.default, ylab.default, zlab.default,
scales.3d,
proportion = 0.6,
wireframe = FALSE,
scpos,
...,
at,
identifier = "cloud")
panel.wireframe(...)
panel.3dscatter(x, y, z, rot.mat, distance,
groups, type = "p",
xlim, ylim, zlim,
xlim.scaled, ylim.scaled, zlim.scaled,
zero.scaled,
col, col.point, col.line,
lty, lwd, cex, pch, fill,
cross, ..., .scale = FALSE, subscripts,
identifier = "3dscatter")
panel.3dwire(x, y, z, rot.mat = diag(4), distance,
shade = FALSE,
shade.colors.palette = trellis.par.get("shade.colors")$palette,
light.source = c(0, 0, 1000),
xlim, ylim, zlim,
xlim.scaled,
ylim.scaled,
zlim.scaled,
col = if (shade) "transparent" else "black",
lty = 1, lwd = 1,
alpha,
col.groups = superpose.polygon$col,
polynum = 100,
...,
.scale = FALSE,
drape = FALSE,
at,
col.regions = regions$col,
alpha.regions = regions$alpha,
identifier = "3dwire")
makeShadePalette(col.regions, ..., min = 0.05, pref = 0.75)
參數
x , y , z |
表示要顯示的數據的數字(或可能的因子)向量。解釋取決於上下文。對於 此外,對於 在 |
subscripts |
索引指定要繪製的點。對於每個麵板,相同的 |
groups |
分組變量的規範,從高級函數向下傳遞。 |
perspective |
邏輯,是否繪製透視圖。將其設置為 |
distance |
0 到 1 之間的數字,控製透視量。視點距原點的距離(在變換後的坐標係中)為 |
screen |
確定繪製數據之前要應用於數據的旋轉順序的列表。初始位置從沿正 z 軸的觀察點開始,x 軸和 y 軸位於通常位置。列表中的每個組件應命名為 |
R.mat |
齊次坐標中的初始旋轉矩陣,在 |
par.box |
box的圖形參數,即col、lty和lwd。默認從參數 |
xlim , ylim , zlim |
各個軸的限製。與其他點陣函數一樣,它們每個都可以是數字 2 向量或指示因子水平的字符向量。 |
panel.3d.cloud , panel.3d.wireframe |
在 任何用戶定義的自定義顯示都可能想要更改這些函數。目的是向此函數傳遞盡可能多的有用信息(並非默認使用所有信息)。特別是,這些函數可以期望名為 |
aspect |
方麵如 |
xlab , ylab , zlab |
標簽,必須是列表。通常,用戶不會操縱這些,而是直接通過 |
xlab.default |
供內部使用 |
ylab.default |
供內部使用 |
zlab.default |
供內部使用 |
scales.3d |
定義尺度的列表 |
proportion |
數值標量,給出箭頭長度與邊的比例 |
scpos |
包含三個分量 x、y 和 z(每個分量都是標量整數)的列表,說明應繪製立方體 12 個邊中的哪一個刻度。默認值應該沒問題。有效值為 x:1、3、9、11; y: 8, 5, 7, 6 和 z: 4, 2, 10, 12。(請參閱 |
wireframe |
邏輯,指示這是否是線框圖 |
drape |
邏輯上,麵是否將按高度著色,方式類似於 |
at |
當 |
col.regions |
當 在可用於定義著色調色板(見下文)的 |
alpha.regions |
|
rot.mat |
齊次坐標中的 4x4 變換矩陣。這給出了將 |
type |
字符向量,指定雲圖的類型。可以包含 |
xlim.scaled , ylim.scaled , zlim.scaled |
軸限製(縮放到邊界框後) |
zero.scaled |
原始數據比例中 X-Y 平麵的 z 軸位置(縮放到邊界框後),當 |
cross |
邏輯,如果 這很有用,原因有兩個。可以將其設置為 |
shade |
邏輯,指示是否使用具有單一光源的照明模型對表麵進行著色 |
shade.colors.palette |
一個函數(或函數的名稱),用於在使用著色時計算麵的顏色。該函數可以獲得三個信息:第一,入射光線與表麵法線之間夾角的餘弦(表示透視);第二,反射光線與觀察方向之間角度的一半的餘弦(對於非朗伯表麵有用);第三,該特定麵相對於總繪圖 z 軸限製的縮放(平均)高度。 所有三個數字都應介於 0 和 1 之間。 |
min |
數字,介於 0 和 1 之間,給出 |
pref |
數字,給出在用於‘darken’顏色之前應用於反射率值的功率。 |
light.source |
表示光源(在笛卡爾坐標中)的 3 向量。這是相對於 (0, 0, 1/距離)(沿正 z 軸)的觀察點而言的,請記住所有觀測值都在 [-0.5, 0.5] 立方體內 |
polynum |
四邊形麵一次以 |
col.groups |
不同群體的顏色 |
col , col.point , col.line , lty , lwd , cex , pch , fill , alpha |
圖形參數。一些其他參數(例如線寬的 |
... |
其他參數,在適當的時候傳遞 |
.scale |
邏輯標誌,指示 |
identifier |
附加到由此麵板函數創建的 grobs 名稱之前的字符串。 |
細節
這些函數共同負責 cloud
和 wireframe
中每個麵板內繪製的內容。 panel.wireframe
是 panel.cloud
的包裝器,它執行實際工作。
panel.cloud
負責繪製不依賴於數據的內容,即邊界框、箭頭/比例等。在某些時候,根據 wireframe
是否為 TRUE,它會調用 panel.3d.wireframe
或panel.3d.cloud
,繪製繪圖的數據驅動部分。
這兩個函數接受的參數是不同的,因為它們的目的本質上不同。對於雲來說,數據是非結構化的,x
、y
和z
都傳遞給panel.3d.cloud
函數。另一方麵,對於線框,x
和 y
是具有唯一值的遞增向量,定義矩形網格。 z
必須是具有 length(x) * length(y)
行、列數與組數相同的矩陣。
panel.3dscatter
是默認的panel.3d.cloud
函數。它有一個類似於 panel.xyplot
的 type
參數,並支持分組顯示。它試圖遵循深度順序,即,靠近相機的點和線稍後繪製,覆蓋更遠的點和線。 (當然,線段沒有絕對的排序,因此使用了臨時排序。沒有隱藏點刪除。)
panel.3dwire
是默認的panel.3d.wireframe
函數。它會一一計算與各個麵相對應的多邊形,但會等到收集到polynum
麵的信息後,一次性將它們全部繪製出來。這避免了重複繪製 grid.polygon
的開銷,從而大大加快了渲染速度。如果是 shade = TRUE
,則這些嘗試將表麵著色為從 light.source
光源照射的表麵。 palette.shade
是一個提供默認著色顏色的簡單函數
如果在調用 wireframe
時 groups
為非空,則會繪製多個曲麵,但是該算法不夠複雜,無法正確渲染相交曲麵。
例子
wireframe(volcano, shade = TRUE,
shade.colors.palette = makeShadePalette(hcl.colors(10, "Inferno"),
pref = 0.2))
wireframe(volcano, shade = TRUE,
shade.colors.palette = makeShadePalette(hcl.colors(10, "Dark Mint"),
pref = 0.2))
wireframe(volcano, shade = TRUE,
shade.colors.palette = makeShadePalette(hcl.colors(10, "Harmonic"),
pref = 0.2))
作者
Deepayan Sarkar Deepayan.Sarkar@R-project.org
也可以看看
相關用法
- R panel.xyplot xyplot 的默認麵板函數
- R panel.bwplot bwplot 的默認麵板函數
- R panel.loess 添加黃土平滑的麵板函數
- R panel.axis 繪圖軸刻度和標簽的麵板函數
- R panel.number 在繪圖期間訪問輔助信息
- R panel.functions 有用的麵板函數組件
- R panel.parallel 並行的默認麵板函數
- R panel.pairs splom 的默認超級麵板函數
- R panel.dotplot 點圖的默認麵板函數
- R panel.densityplot 密度圖的默認麵板函數
- R panel.spline 添加樣條平滑的麵板函數
- R panel.stripplot 帶狀圖的默認麵板函數
- R panel.smoothScatter 格子麵板函數類似於 smoothScatter
- R panel.violin 創建小提琴圖的麵板函數
- R panel.qqmath qqmath 的默認麵板函數
- R panel.superpose 分組顯示麵板函數
- R panel.histogram 直方圖的默認麵板函數
- R panel.levelplot 水平圖和等高線圖的麵板函數
- R panel.barchart 條形圖的默認麵板函數
- R panel.qqmathline qqmath 的有用麵板函數
- R packet.panel.default 將數據包與麵板關聯
- R prepanel.functions Lattice 有用的 Prepanel 函數
- R print.trellis 繪製和總結網格對象
- R prepanel.default 默認預麵板函數
- R xyplot.ts 時間序列繪圖方法
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Default Panel Function for cloud。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。