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 get a scatter plot of magnitude vs index. But generally, we pass in two vectors, and a scatter plot of these points is 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 ranging from `-pi`

to `pi`

.

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

Here, at first, we generate a sequence of numbers from `-π`

to `π`

with a step size of **0.1**. The generated sequence will be a vector containing values like **-3.141593**, **-3.041593**, **-2.941593**, ..., **3.041593**, **3.141593**.

`plot(x, sin(x))`

creates a plot of the sine function using `plot()`

where `x`

is the vector we created before.

## 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)")
```

Here, the plot now has a title indicating the nature of the function being plotted (`"The Sine Function"`

) and a label on the y-axis to indicate the scale or interpretation of the y-values on the plot (`"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 color.

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 Using legend() function

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. Visit legend() function to learn more.

Also visit the plot() function to learn more about the different arguments `plot()`

function can take, and more examples.