如何更改 R 中 ctree 对象的绘图背景?
How to change plot background of a ctree object in R?
我正在使用 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 = 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))
请帮忙,我的海报将于周四到期!
party
包及其后继包 partykit
都基于 grid
包进行可视化。因此,在创建 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)
然后我们先添加一个灰色背景的空页面:
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
)
要获取partykit
这个开发版,请到包的R-Forge页面。在那里您可以检查源包(请参阅 "SCM")并手动安装它 - 或者您可以等到新包已构建(请参阅 "R Packages")。后者有望在几个小时内完成。
我正在使用 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 = 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))
请帮忙,我的海报将于周四到期!
party
包及其后继包 partykit
都基于 grid
包进行可视化。因此,在创建 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)
然后我们先添加一个灰色背景的空页面:
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
)
要获取partykit
这个开发版,请到包的R-Forge页面。在那里您可以检查源包(请参阅 "SCM")并手动安装它 - 或者您可以等到新包已构建(请参阅 "R Packages")。后者有望在几个小时内完成。