The most used plotting function in R programming is the `plot()`

function. It is a generic function, meaning, it has many methods which are called according to the type of object passed to `plot()`

. In the simplest case, we can pass in a vector and we will get a scatter plot of magnitude vs index. But generally, we pass in two vectors and a scatter plot of these points are plotted. For example, the command `plot(c(1,2),c(3,5))`

would plot the points `(1,3)`

and `(2,5)`

.

Here is a more concrete example where we plot a sine function form range `-pi`

to `pi`

.

```
x <- seq(-pi,pi,0.1)
plot(x, sin(x))
```

## Adding Titles and Labeling Axes

We can add a title to our plot with the parameter `main`

. Similarly, `xlab`

and `ylab`

can be used to label the x-axis and y-axis respectively.

```
plot(x, sin(x),
main="The Sine Function",
ylab="sin(x)")
```

## Changing Color and Plot Type

We can see above that the plot is of circular points and black in color. This is the default. We can change the plot type with the argument `type`

. It accepts the following strings and has the given effect.

"p" - points "l" - lines "b" - both points and lines "c" - empty points joined by lines "o" - overplotted points and lines "s" and "S" - stair steps "h" - histogram-like vertical lines "n" - does not produce any points or lines

Similarly, we can define the color using `col`

.

```
plot(x, sin(x),
main="The Sine Function",
ylab="sin(x)",
type="l",
col="blue")
```

## Overlaying Plots

Calling `plot()`

multiple times will have the effect of plotting the current graph on the same window replacing the previous one. However, sometimes we wish to overlay the plots in order to compare the results. This is made possible with the functions `lines()`

and `points()`

to add lines and points respectively, to the existing plot.

```
plot(x, sin(x),
main="Overlaying Graphs",
ylab="",
type="l",
col="blue")
lines(x,cos(x), col="red")
legend("topleft",
c("sin(x)","cos(x)"),
fill=c("blue","red")
)
```

We have used the function `legend()`

to appropriately display the legend.