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


R gpar 处理网格图形参数


R语言 gpar 位于 grid 包(package)。

说明

gpar() 应用于创建一组图形参数设置。它返回类 "gpar" 的对象。这本质上是 name-value 对的列表。

get.gpar()可用于查询当前图形参数设置。

用法

gpar(...)
get.gpar(names = NULL)

参数

...

任意数量的命名参数。

names

有效图形参数名称的字符向量。

细节

所有网格视口和(预定义)图形对象都有一个名为 gp 的槽,其中包含 "gpar" 对象。当将视口推入视口堆栈并绘制图形对象时,将强制执行 "gpar" 对象中的设置。通过这种方式,图形输出将由 gp 设置修改,直到图形对象完成绘制,或者直到视口从视口堆栈中弹出,或者直到某个其他视口或图形对象被推送或开始绘制。

默认参数设置由 ROOT 视口定义,该视口从图形设备获取其设置。这些默认值可能因设备而异(例如,与 PDF 设备相比,PNG 设备的默认 fill 设置不同)。

有效的参数名称是:

col 线条和边框的颜色。
fill 用于填充矩形、多边形等的颜色
alpha Alpha 通道透明度
lty 线型
lwd 行宽
lex 应用于线宽的乘数
lineend 线端样式(圆形、对接、方形)
linejoin 线连接样式(圆形、斜接、斜角)
linemitre 线斜接限制(数量大于 1)
fontsize 文本大小(以点为单位)
cex 应用于字体大小的乘数
fontfamily 字体家族
fontface 字体(粗体、斜体……)
lineheight 行高是文本大小的倍数
font Font Face(fontface 的别名;为了向后兼容)

有关其中许多内容的更多详细信息,请参阅基础图形中相应图形参数 par 的帮助。 (名称可能略有不同,例如 lendljoinlmitrefamily 。)

颜色可以以 rgb 返回的形式之一指定,作为名称(请参阅 colors )或作为当前 palette 的非负整数索引(零被视为透明)。 (负整数值现在是一个错误。)

alpha 设置通过乘法与各个颜色的 Alpha 通道组合(两个 Alpha 设置均归一化为 0 到 1 的范围)。

fill 设置也可以是线性渐变或径向渐变或图案(请参阅 patterns )。

文本大小为 fontsize * cex 。一行的大小为 fontsize * cex * lineheight

cex设置是累积的;如果一个视口的 cex 为 0.5,那么另一个视口的 cex 为 0.5,则有效的 cex 为 0.25。

alphalex 设置也是累积的。

fontfamily 的更改可能会被某些设备忽略,但受 PostScript、PDF、X11、Windows 和 Quartz 支持。 fontfamily 可用于指定 Hershey 字体系列之一(例如 HersheySerif ),并且所有设备都将遵守此规范。

fontface的规格可以是整数或字符串。如果是整数,则它遵循 R 基本图形标准:1 = 普通、2 = 粗体、3 = 斜体、4 = 粗斜体。如果是字符串,则有效值为: "plain""bold""italic""oblique""bold.italic" 。对于 HersheySerif 字体系列的特殊情况,还可以使用 "cyrillic""cyrillic.oblique""EUC"

所有参数值都可以是多个值的向量。 (这并不总是有意义 - 例如,视口只会注意到第一个参数值。)

get.gpar() 返回所有当前图形参数设置。

"gpar" 的对象。

例子

gp <- get.gpar()
utils::str(gp)
## These *do* nothing but produce a "gpar" object:
gpar(col = "red")
gpar(col = "blue", lty = "solid", lwd = 3, fontsize = 16)
get.gpar(c("col", "lty"))
grid.newpage()
vp <- viewport(width = .8, height = .8, gp = gpar(col="blue"))
grid.draw(gTree(children=gList(rectGrob(gp = gpar(col="red")),
                     textGrob(paste("The rect is its own colour (red)",
                                    "but this text is the colour",
                                    "set by the gTree (green)",
                                    sep = "\n"))),
      gp = gpar(col="green"), vp = vp))
grid.text("This text is the colour set by the viewport (blue)",
          y = 1, just = c("center", "bottom"),
          gp = gpar(fontsize=20), vp = vp)
grid.newpage()
## example with multiple values for a parameter
pushViewport(viewport())
grid.points(1:10/11, 1:10/11, gp = gpar(col=1:10))
popViewport()

作者

Paul Murrell

也可以看看

Hershey

相关用法


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