In Part 6, let’s look at basic plotting in R. Try entering the following three commands together (the semi-colon allows you to place several commands on the same line).
x <- seq(-4, 4, 0.2) ; y <- 2*x^2 + 4*x - 7
plot(x, y)

This is a very basic plot, but we can do much better. Let’s build a nicer plot in several steps.
plot(x, y, pch = 16, col = "red")

The argument pch = 16 gave us solid circles, while col = "red" coloured those circles red.
Now try:
plot(x, y, pch = 16, col = "red", xlim = c(-8, 8), ylim = c(-20, 50), main = "My plot", xlab = "X variable" , ylab = "Y variable")

You can see what the main argument and the xlim and ylim arguments achieved. Now try:
plot(x, y, pch = 16, col = "red", xlim = c(-8, 8), ylim = c(-20, 50), main = "My plot", xlab = "X variable" , ylab = "Y variable")
lines(x, y)

Note that the lines() command is used after the plot() command. Now enter the following syntax.
abline(h = 0)
abline(v = 0)
abline(-10, 2) # Draws a line of intercept -10 and slope 2.
text(4, 20, "Text") # Now your text is located at the point (4, 20) on your plot.
legend(-8, 36,"This is my Legend")
Your legend is now centred on the point (-8, 36)
rug(x)
The rug() command indicates the location of points on the horizontal axis. Here is the final plot:

That wasn’t so hard! In blog 7 we will look at some more sophisticated plotting techniques in R.
Good bye for now!
David
Annex: R codes used
[code lang=”r”]
# Creating and plotting a function
x <- seq(-4, 4, 0.2); y <- 2*x^2 + 4*x – 7
plot(x, y)
# Building a nicer plot in several steps
# Version 1
plot(x, y, pch = 16, col = "red")
# Version 2
plot(x, y, pch = 16, col = "red", xlim = c(-8, 8), ylim = c(-20, 50), main = "My plot", xlab = "X variable", ylab = "Y variable")
# Version 3
plot(x, y, pch = 16, col = "red", xlim = c(-8, 8), ylim = c(-20, 50), main = "My plot", xlab = "X variable", ylab = "Y variable")
lines(x, y)
# Additional customisation
abline(h = 0)
abline(v = 0)
abline(-10, 2) # Draws a line of intercept -10 and slope 2.
text(4, 20, "Text") # Now your text is located at the point (4, 20) on your plot.
legend(-8, 36,"This is my Legend")
rug(x)
[/code]