`box`

function
The R `box`

function allows adding a box around plots. This is particularly useful when you add a new axis with the `axis`

function and want to draw the box again. You can also customize the color, the line type, the line width and even the type of the box.

**Example 1**. Adding a blue box to the plot. Note that we set `axes = FALSE`

to avoid displaying the default box and axes.

```
# Plot without axes
curve(cos, -10, 10, axes = FALSE)
# Blue dashed box
box(col = 4, lty = 2)
```

**Example 2**. Adding a box after modifying the axes with the `axis`

function.

```
# Plot without axes
curve(cos, -10, 10, axes = FALSE)
# Custom axis
axis(1, at = c(-2 * pi, pi, -pi, 0, 2 * pi),
labels = expression(-2 * pi, -pi, 0,
pi, 2 * pi))
axis(2, lwd = 2, lty = 2)
# Box with wide line
box(lwd = 2)
```

**Example 3**. Adding a box to the whole plot.

```
# Plot without axes
curve(cos, -10, 10)
# Border box
box("figure", col = 4, lwd = 4)
```

`bty`

argument
By default, base R plots have a box around them. This box can be customized with the `bty`

argument of the corresponding function. If the plotting function does not support this argument (like `boxplot`

) you can set it inside `par`

function.

**Full box**: `bty = "o"`

(Default)

```
curve(cos, -10, 10,
bty = "o")
```

**Left and bottom**: `bty = "L"`

```
curve(cos, -10, 10,
bty = "L")
```

**Top, left and bottom**: `bty = "C"`

```
curve(cos, -10, 10,
bty = "C")
```

**Top and right**: `bty = "7"`

```
curve(cos, -10, 10,
bty = "7")
```

**Top, right and bottom**: `bty = "]"`

```
curve(cos, -10, 10,
bty = "]")
```

**Left, bottom and right**: `bty = "U"`

```
curve(cos, -10, 10,
bty = "U")
```

**No box**: `bty = "n"`

```
curve(cos, -10, 10,
bty = "n")
```

**The bty argument can also be used within the box function**, which allows customizing the color, the type and the width of the box.

```
curve(cos, -10, 10,
axes = FALSE)
box(col = 2, bty = "U", lty = 2, lwd = 2)
```

As we pointed out before, **with some functions you will need to specify the argument inside the par function**. As an example, if you want to draw a box plot without a box you can type:

```
par(bty = "n")
# Data
set.seed(1)
x <- rnorm(50)
# Plot
boxplot(x)
```

Note that `"o"`

, `"7"`

, `"]"`

, `"L"`

and `"U"`

represent the sides of the box that are actually drawn. This is a good way to remember them. You can also set the letters in lower case instead of in upper case.

See also