• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
R scatter plots

R scatter plots



R scatter plots brief tutorial

R scatter plots brief tutorial



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds


Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    R scatter plots R scatter plots Document Transcript

    • Abhik Seal: Scatter plots in RI have taken a sample from the Diamonds data from ggplot2 package>sample1<-diamonds[sample(nrow(diamonds),400),]>plot(sample1$price~sample1$carat,#Y~Xmain = "Relation of diamonds price and carat",# Titlexlab ="Price",ylab = "carat",# X and Y labelxaxis="i",yaxis="i",# set axis style as internalcol ="red",# Color of the dotspch=16)#Set the plotting symbol to filled dotsThe pch attribute is changed to 2 a different symbol is noticed in figure 2. Fig 1 Fig 2To set the plot background color to gray we use the bgargument in the par() command>par(bg = “gray”)Then running the plot code you will get something like in fig 3. In par() until the plotting device is closed or anew device is initiated, the background color stays the same.To set the background color for a the plot region a rectangle must be drawn around the plot region figure 4 Thescript is given below. plot(sample1$price~sample1$carat,type="n") # "n" so that the plotted elements are invisible. x<-par("usr") #gets us the co-ordinates of the plot region in a vector of form c(xleft, xright, ybottom, ytop) rect(x[1],x[3],x[2],x[4],col="gray ")points(plot(sample1$price~sample1$carat,pch=10)
    • Fig 3 Fig 4 If you want to make the title as red, axis values as blue and axis labels as red then you can do this figure 5plot(sample1$price~sample1$carat,#Y~Xmain = "Relation of diamonds price and carat",# Titlexlab ="Price",ylab = "carat",# X and Y labelxaxis="i",yaxis="i",# set axis style as internalcol.main ="red",# Color of the dotscol.axis="blue",col.lab="red",pch=16)Plotting point, symbols, styles and sizes I used this data (http://www.imdpune.gov.in/ncc_rept/RESEARCH%20REPORT%202.pdf ) from the year 1999 to2003 and the months from jan to December to plot yearly rainfall.NB: Columns are years and rows are months.Here is the codeplot(rain$Year1999 ,main="Yearly Rainfall in India",xlab="Month of the Year",ylab="rainfall",pch=1)points(rain$Year2000,pch=2)points(rain$Year2001,pch=3)points(rain$Year2002,pch=4)points(rain$Year2003,pch=5)legend(top,legend=c("1999","2000","2001","2002","2003"),ncol=5,cex=0.9,bty="n",pch=1:5)Lines format can also be plotted using the lty and lwd arguments in the plotplot(rain$Year1999,main="Yearly Rainfall in India",xlab="Month of the Year",ylab="rainfall(mm)",type="l",lty=1,lwd=2,ylim=c(0,400))lines(rain$Year2000,lty=2,lwd=2)lines(rain$Year2001,lty=3,lwd=2)lines(rain$Year2002,lty=4,lwd=2)lines(rain$Year2003,lty=5,lwd=2)legend(topright,legend=c("1999","2000","2001","2002","2003"),ncol=5,cex=0.9,bty="n",lty=1:5,lwd=2)
    • Lines type code: 0: blank 1: solid (default) 2: dashed 3: dotted 4: dotdash 5: longdash6: twodashaxis(1,at=1:length(rain$Month),labels=rain$Month)lines(rain$Year2000,col="red",type="b",lwd=2)lines(rain$Year2001,col="orange",type="b",lwd=2)lines(rain$Year2002,col="purple",type="b",lwd=2)lines(rain$Year2003,col="yellow",type="b",lwd=2)legend(topright,legend=c("1999","2000","2001","2002","2003"),col=c("black","red","orange","purple","yellow"),ncol=2,cex=0.9,bty="n",lty=1:5,lwd=2)Using xyplot to plot data.I have used the sample1 data from the diamonds dataset . You also require the lattice package for plotting.You canalso plot high quality plots using ggplot see my qplot tutorial at slideshare.xyplot(price~carat,data=sample1,groups=color,auto.key=list(corner=c(1,1)))The auto.key use to make a legend at the corner of the plot.
    • Fitting linear model lines using lm() and abline()plot(sample1$price~sample1$carat)lmfit<-lm(sample1$price~sample1$carat)abline(lmfit,col=red)legend("topright", bty="n", legend=paste("R2 is", format(summary(lmfit)$adj.r.squared, digits=4)))# putting theR square in the plot.library(scatterplot3d)scatterplot3d(x=sample1$carat,y=sample1$depth,z=sample1$price,xlab="carat",ylab="depth",zlab="price")#figscatterplot3d(x=sample1$carat,y=sample1$depth,z=sample1$price,xlab="carat",ylab="depth",zlab="price",pch=16,highlight.3d=TRUE,angle=45,type="h")
    • More on the scatterplot3d at http://www.jstatsoft.org/v08/i11/paper>plot(sample1$price~sample1$carat)>rug(sample1$carat)>rug(sample1$price,side=2,col="blue",ticksize=0.02) The rug function adds a set of lines just above the x and y axis.The closely packed lines represent the density of the data.The side argument takes four values,1: bottom axis (default) ,2: left ,3: top ,4: right.The size of the tick marks are adjusted by ticksize. smoothScatter :smoothScatter() function produces a smoothed color density representation of the scatter plot, obtained through a kernel density estimate. Lab.palette<-colorRampPalette(c("blue","red"), space = "Lab") smoothScatter(sample1$price~sample1$carat,colramp = Lab.palette)