如何在R中更改ctree对象的绘图背景?

时间:2015-12-02 01:11:53

标签: r plot party

我正在使用model.coef_包裹制作一张海报,海报的背景是灰色的。我已经能够使用命令party将所有其他绘图(箱形图,散点图)的背景更改为灰色,但这对par(bg = "grey")不起作用。

例如,这会在灰色背景上生成散点图:

ctree

但这不会在灰色背景上形成一棵树:

airq <- subset(airquality, !is.na(Ozone))
par(bg="grey")
plot(Temp ~ Wind, data = airq)

请帮忙,我的海报定于周四发布!

1 个答案:

答案 0 :(得分:3)

party包及其后续版partykit均基于grid包进行可视化。因此,在创建par()图形时,将忽略基础图形的grid功能。对于后者,有一个gpar()函数,但它不直接支持设置bg背景。

因此,在当前版本的partypartykit设置中,通过简单参数无法实现背景颜色 - 仅通过提供适应的面板功能。

但是,由于某些面板功能已部分支持此功能,因此我已在R-Forge上调整partykit包以启用设置背景。该软件包的最新版本是必需的:

library("partykit")
packageDescription("partykit")$Version
## [1] "1.0-5"   

树可以像你的例子一样成长:

airq <- subset(airquality, !is.na(Ozone))
air.ct <- ctree(Ozone ~ ., data = airq)

然后我们首先添加一个灰色背景的空白页面:

grid.newpage()
grid.rect(gp = gpar(col = "gray", fill = "gray"))

然后可以添加树:

plot(air.ct,
  ip_args = list(id = FALSE, fill = "gray"),
  ep_args = list(fill = "gray"),
  tp_args = list(id = FALSE, bg = "gray", fill = "slategray"),
  newpage = FALSE
)

ctree with gray bg

要获取partykit的此开发版本,请转到该程序包的R-Forge页面。在那里,您可以查看源包(请参阅&#34; SCM&#34;)并手动安装 - 或者您可以等到构建新包(请参阅&#34; R包&#34;)。希望后者能在几个小时内完成。