I have input data in below format.
x y z
0 2.2 4.5
5 3.8 6.8
10 4.6 9.3
15 7.6 10.5
How can i plot the xy scatter plot like excel (show below) in R?
1) Use a "horizontal" or "wide" data.frame called df here
df <- data.frame(x = c(0, 5, 10, 15), y = c(2.2, 3.8, 4.6, 7.6), z = c(4.5, 6.8, 9.3, 10.5))
ggplot(df, aes(x)) +
geom_line(aes(y = y, colour = "y")) +
geom_line(aes(y = z, colour = "z"))
2) Using lattice
require(lattice)
xyplot(x ~ y + z, data=df, type = c('l','l'), col = c("blue", "red"), auto.key=T)
3) Turn your original df into a "long" data.frame. This is how it's usually how you would work with data in ggplot2
require("reshape")
require("ggplot2")
mdf <- melt(df, id="x") # convert to long format
ggplot(mdf, aes(x=x, y=value, colour=variable)) +
geom_line() +
theme_bw()
4) Using matplot() I haven't really explored much this option but here is an example.
matplot(df$x, df[,2:3], type = "b", pch=19 ,col = 1:2)