如何在R中更改ctree对象的打印背景?

如何在R中更改ctree对象的打印背景?,r,plot,party,R,Plot,Party,我正在用聚会包为海报制作一棵树,海报的背景是灰色的。我已经能够使用命令par(bg=“grey”)将所有其他绘图(方框图、散点图)的背景更改为灰色,但这不适用于ctree 例如,这会在灰色背景上绘制散点图: airq <- subset(airquality, !is.na(Ozone)) par(bg="grey") plot(Temp ~ Wind, data = airq) library("party") air.ct <- ctree(Ozone ~ ., data =

我正在用
聚会
包为海报制作一棵树,海报的背景是灰色的。我已经能够使用命令
par(bg=“grey”)
将所有其他绘图(方框图、散点图)的背景更改为灰色,但这不适用于
ctree

例如,这会在灰色背景上绘制散点图:

airq <- subset(airquality, !is.na(Ozone))
par(bg="grey")
plot(Temp ~ Wind, data = airq)
library("party")
air.ct <- ctree(Ozone ~ ., data = airq)
par(bg = "grey")
plot(air.ct, inner_panel=node_inner(air.ct, pval = TRUE, id = FALSE),
  terminal_panel = node_boxplot(air.ct, id = FALSE))
grid.newpage()
grid.rect(gp = gpar(col = "gray", fill = "gray"))

airq一方
包及其后续方partykit都基于
网格
包进行可视化。因此,在创建
grid
图形时,基本图形的
par()
函数被忽略。对于后者,有一个
gpar()
函数,但它不直接支持设置
bg
背景

因此,在当前版本的
party
partykit
中,无法通过简单的参数设置背景色-只能通过提供适应的面板功能

但是,由于此功能在某些面板功能中已经得到部分支持,我在R-Forge上修改了
partykit
包,以启用背景设置。此操作需要软件包的最新版本:

library("partykit")
packageDescription("partykit")$Version
## [1] "1.0-5"   
树可以按照示例中的方式生长:

airq <- subset(airquality, !is.na(Ozone))
air.ct <- ctree(Ozone ~ ., data = airq)
然后可以添加树:

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
)


要获取此开发版本的
partykit
,请转到软件包的页面。在那里,您可以签出源程序包(请参阅“SCM”)并手动安装,也可以等到构建了新的程序包(请参阅“R程序包”)。后者有望在几小时内完成。

partykit软件包的新版本1.0-5现在已经在R-Forge()上构建,并且可以通过
install.packages(“partykit”,repos=”轻松安装http://R-Forge.R-project.org“)
。谢谢!我仍然有点问题。当我尝试安装partykit软件包时,我收到以下警告消息:警告消息:软件包“partykit”不可用(适用于R版本3.2.1)。当我查找partykit文档时,它说它在R上受支持(>=3.1.0),所以我不知道为什么它不允许我下载/使用它。我还在另一台运行R3.2.2的计算机上尝试了它,但也没有成功。有趣的是,这似乎是R-Forge存储库的一个问题。目前
available.packages(contrib.url(“http://R-Forge.R-project.org“,”来源“))
生成一个空的包列表。因此,
install.packages()
声称根本没有可用的包。但是包实际上在那里。您可以从中手动下载
.tar.gz
.zip
包,然后将其安装到您的计算机上。