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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。