Web EndMemo

### R Plot Function

`plot(...)` is a generic X Y plotting function. It's usage is:

```plot(x, y = NULL, type = "p",  xlim = NULL, ylim = NULL,
log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
ann = par("ann"), axes = TRUE, frame.plot = axes,
panel.first = NULL, panel.last = NULL, asp = NA, ...)
```

`x,y`:Vector of coordinates

First let's make a simple plot:
```>x <- c(1.2,3.4,1.3,-2.1,5.6,2.3,3.2,2.4,2.1,1.8,1.7,2.2)
>y <- c(2.4,5.7,2.0,-3,13,5,6.2,4.8,4.2,3.5,3.7,5.2)
>plot(x,y)
```

The `par(...)` controls the general layout of the plot. For example, `par(mar = c(5, 4, 2, 1))` defines the bottom margin as 5, left margin 4, top margin 2 and right margin as 1. The default type is a point plot (type="p"). The possible types include:
 p: Points, default l: Lines b: Points with line connection c: Line connections without points o: Both overplotted h: Histogram like vertical lines s: Stair steps S: Stair steps, another style n: No plotting

Let's use less points and plot with line connections. We will use blue colored line and points, and with axis labels both to X and Y axis as well as a main title of the plot:
```>x <- c(-2,-0.3,1.4,2.4,4.5)
>y <- c(5,-0.5,8,2,11)
>par(mar = c(5, 1, 1, 1))
+ ylab="Revenue Change", main="Financial Analysis")
```

Add more data to the plot:
```>abline(v=0,col="red") #add a vertical line at x=0
>x2 <- c(-1.5,1,4)
>y2 <- c(3,2,8)
>lines(x2,y2,col="darkolivegreen3")  #add aother group of data
```

If we want to move the legend out of the main plot area, we need some more work. First use `layout(...)` function to define 2 plots on one layer side by side, and then we plot the same data on both plots, with the plot on the right side in white color, thus invisible (just providing the scale), and finally we plot the legend on the second plot.
```>x <- c(-2,-0.3,1.4,2.4,4.5)
>y <- c(5,-0.5,8,2,11)
>layout(matrix(c(1,2), nrow = 1), widths = c(0.6, 0.4))
>par(mar = c(5, 4, 2, 1))
+ ylab="Revenue Change", main="Financial Analysis")
>abline(v=0,col="red") #add a vertical line at x=0
```