### Plotting line graphs in R

#### The basic plot command

Imagine that in R, we created a variable $t$ for time points and a variable $z$ that showed a quantity that is decaying in time.

```
> t=0:10
> z= exp(-t/2)
```

The simplest R command to plot $z$ versus $t$ is

`> plot(t,z)`

Without any other arguments, R plots the data with circles and uses the variable names for the axis labels. The plot command accepts many arguments to change the look of the graph. Here, we use `type="l"`

to plot a line rather than symbols, change the color to green, make the line width be 5, specify different labels for the $x$ and $y$ axis, and add a title (with the `main`

argument).

`> plot(t,z, type="l", col="green", lwd=5, xlab="time", ylab="concentration", main="Exponential decay")`

#### A line plot with multiple series

Imagine that you wanted to plot not only $z$ but also a variable $w$ that was increasing with time.

`> w = 0.1*exp(t/3)`

One way to plot separate lines for both $z$ and $w$ is to first plot $z$ with the `plot`

and then add a line for $w$ with the `lines`

command.

```
> plot(t,z, type="l", col="green", lwd=5, xlab="time", ylab="concentration")
> lines(t, w, col="red", lwd=2)
> title("Exponential growth and decay")
> legend(2,1,c("decay","growth"), lwd=c(5,2), col=c("green","red"), y.intersp=1.5)
```

The last two lines add a title (since it wasn't added with a `main`

argument of the plot command) and a legend. The first two arguments to the `legend`

command are its position, the next is the legend text, and the following two are just vectors of the same arguments of the `plot`

and `lines`

commands, as R requires you to specify them again for the legend. (The last `y.intersp`

argument just increases the vertical spacing of the legend.)

Notice that the range of the plot does not expand to include all of the line plotted by the `lines`

command. By default, the `plot`

sets the axis limits to fit the data given it. If you can manual specify the axis limits with the `xlim`

or `ylim`

arguments. Adding the argument `ylim = range(w,z)`

will ensure that the $y$-axis limits include all the data from both $z$ and $w$. The following commands will show all the data of $w$. These commands also show how to add both points as well as lines by specifying `type="b"`

. The symbols used for the points are specified by the `pch`

(plotting character) argument.

```
> plot(t,z, type="b", col="green", lwd=5, pch=15, xlab="time", ylab="concentration", ylim=range(w,z))
> lines(t, w, type="b", col="red", lwd=2, pch=19)
> title("Exponential growth and decay")
> legend(0,2.8,c("decay","growth"), lwd=c(5,2), col=c("green","red"), pch=c(15,19), y.intersp=1.5)
```