grid.reorder
位於 grid
包(package)。 說明
更改 gTree 子樹的繪製順序。
用法
grid.reorder(gPath, order, back=TRUE, grep=FALSE, redraw=TRUE)
reorderGrob(x, order, back=TRUE)
參數
gPath |
指定當前場景中的 gTree 的 gPath 對象。 |
x |
要修改的 gTree 對象。 |
order |
指定 gTree 子級的新繪製順序的字符向量或數值向量。可能不會引用 gTree 的所有子級(請參閱詳細信息)。 |
back |
控製當 |
grep |
|
redraw |
修改後的場景是否需要重新繪製? |
細節
在最簡單的情況下,order
為 gTree 的所有子級指定新的排序。可以通過名稱或現有的數字順序來指定子項。
如果 order
未指定 gTree 的所有子級,則默認情況下,首先繪製 order
指定的子級,然後繪製所有剩餘的子級。如果back=FALSE
,則首先繪製order
中未指定的子項,然後繪製指定的子項。這樣可以輕鬆指定 send-to-back 或 bring-to-front 重新排序。 order
參數始終按 back-to-front 順序排列。
無法對網格顯示列表(當前場景中的頂級 grobs)進行重新排序,因為顯示列表是 grobs 和視口的混合體(因此不清楚重新排序意味著什麽,而且很容易結束一個不會繪製的場景)。如果要重新排序網格顯示列表,請嘗試 grid.grab()
創建一個 gTree,然後重新排序(並重新繪製)該 gTree。
值
grid.reorder()
因其修改當前場景的副作用而被調用。 reorderGrob()
返回修改後的 gTree。
警告
該函數可能會返回一個不會繪製的 gTree。例如,gTree 有兩個子節點 A 和 B(按此順序),子節點 B 的寬度取決於子節點 A 的寬度(例如,一段文本周圍的框)。切換順序以使 B 在 A 之前繪製將不允許 B 被繪製。如果 grid.reorder()
發生這種情況,則不會執行修改。如果 reorderGrob()
發生這種情況,應該可以簡單地恢複原始順序。
例子
# gTree with two children, "red-rect" and "blue-rect" (in that order)
gt <- gTree(children=gList(
rectGrob(gp=gpar(col=NA, fill="red"),
width=.8, height=.2, name="red-rect"),
rectGrob(gp=gpar(col=NA, fill="blue"),
width=.2, height=.8, name="blue-rect")),
name="gt")
grid.newpage()
grid.draw(gt)
# Spec entire order as numeric (blue-rect, red-rect)
grid.reorder("gt", 2:1)
# Spec entire order as character
grid.reorder("gt", c("red-rect", "blue-rect"))
# Only spec the one I want behind as character
grid.reorder("gt", "blue-rect")
# Only spec the one I want in front as character
grid.reorder("gt", "blue-rect", back=FALSE)
作者
Paul Murrell
相關用法
- R grid.record 封裝計算和繪圖
- R grid.rect 繪製矩形
- R grid.remove 刪除網格圖形對象
- R grid.raster 渲染光柵對象
- R grid.curve 在位置之間繪製曲線
- R grid.draw 畫一個網格
- R grid.stroke 描邊或填充路徑
- R grid.points 繪製數據符號
- R grid.force 強製將一個對象放入其組件中
- R grid.display.list 控製網格顯示列表
- R grid.show.viewport 繪製網格視口圖
- R grid.segments 繪製線段
- R grid.frame 創建用於包裝對象的框架
- R grid.group 畫一個組
- R grid.pack 將對象打包在框架內
- R grid.text 繪製文字
- R grid.xspline 繪製 X 樣條線
- R grid.copy 製作網格圖形對象的副本
- R grid.pretty 生成一組合理(“漂亮”)的斷點
- R grid.grab 抓取當前電網輸出
- R grid.show.layout 繪製網格布局圖
- R grid.convert 不同網格坐標係之間的轉換
- R grid.DLapply 修改網格顯示列表
- R grid.delay 封裝計算並生成grob
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Reorder the children of a gTree。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。