# Plot BinaryTree

##### Visualization of Binary Regression Trees

`plot`

method for `BinaryTree`

objects with
extended facilities for plugging in panel functions.

- Keywords
- hplot

##### Usage

```
# S3 method for BinaryTree
plot(x, main = NULL, type = c("extended", "simple"),
terminal_panel = NULL, tp_args = list(),
inner_panel = node_inner, ip_args = list(),
edge_panel = edge_simple, ep_args = list(),
drop_terminal = (type[1] == "extended"),
tnex = (type[1] == "extended") + 1, newpage = TRUE,
pop = TRUE, …)
```

##### Arguments

- x
an object of class

`BinaryTree`

.- main
an optional title for the plot.

- type
a character specifying the complexity of the plot:

`extended`

tries to visualize the distribution of the response variable in each terminal node whereas`simple`

only gives some summary information.- terminal_panel
an optional panel function of the form

`function(node)`

plotting the terminal nodes. Alternatively, a panel generating function of class`"grapcon_generator"`

that is called with arguments`x`

and`tp_args`

to set up a panel function. By default, an appropriate panel function is chosen depending on the scale of the dependent variable.- tp_args
a list of arguments passed to

`terminal_panel`

if this is a`"grapcon_generator"`

object.- inner_panel
an optional panel function of the form

`function(node)`

plotting the inner nodes. Alternatively, a panel generating function of class`"grapcon_generator"`

that is called with arguments`x`

and`ip_args`

to set up a panel function.- ip_args
a list of arguments passed to

`inner_panel`

if this is a`"grapcon_generator"`

object.- edge_panel
an optional panel function of the form

`function(split, ordered = FALSE, left = TRUE)`

plotting the edges. Alternatively, a panel generating function of class`"grapcon_generator"`

that is called with arguments`x`

and`ip_args`

to set up a panel function.- ep_args
a list of arguments passed to

`edge_panel`

if this is a`"grapcon_generator"`

object.- drop_terminal
a logical indicating whether all terminal nodes should be plotted at the bottom.

- tnex
a numeric value giving the terminal node extension in relation to the inner nodes.

- newpage
a logical indicating whether

`grid.newpage()`

should be called.- pop
a logical whether the viewport tree should be popped before return.

- …
additional arguments passed to callies.

##### Details

This `plot`

method for `BinaryTree`

objects provides an
extensible framework for the visualization of binary regression trees. The
user is allowed to specify panel functions for plotting terminal and inner
nodes as well as the corresponding edges. Panel functions for plotting
inner nodes, edges and terminal nodes are available for the most important
cases and can serve as the basis for user-supplied extensions, see
`node_inner`

and `vignette("party")`

.

More details on the ideas and concepts of panel-generating functions and
`"grapcon_generator"`

objects in general can be found in Meyer, Zeileis
and Hornik (2005).

##### References

David Meyer, Achim Zeileis, and Kurt Hornik (2006).
The Strucplot Framework: Visualizing Multi-Way Contingency Tables with vcd.
*Journal of Statistical Software*, **17**(3).
http://www.jstatsoft.org/v17/i03/

##### See Also

`node_inner`

, `node_terminal`

, `edge_simple`

,
`node_surv`

, `node_barplot`

, `node_boxplot`

,
`node_hist`

, `node_density`

##### Examples

```
# NOT RUN {
set.seed(290875)
airq <- subset(airquality, !is.na(Ozone))
airct <- ctree(Ozone ~ ., data = airq)
### regression: boxplots in each node
plot(airct, terminal_panel = node_boxplot, drop_terminal = TRUE)
if(require("TH.data")) {
## classification: barplots in each node
data("GlaucomaM", package = "TH.data")
glauct <- ctree(Class ~ ., data = GlaucomaM)
plot(glauct)
plot(glauct, inner_panel = node_barplot,
edge_panel = function(ctreeobj, ...) { function(...) invisible() },
tnex = 1)
## survival: Kaplan-Meier curves in each node
data("GBSG2", package = "TH.data")
library("survival")
gbsg2ct <- ctree(Surv(time, cens) ~ ., data = GBSG2)
plot(gbsg2ct)
plot(gbsg2ct, type = "simple")
}
# }
```

*Documentation reproduced from package party, version 1.3-3, License: GPL-2*