R Histogram Plot Example


Histogram is a popular descriptive statistical method that shows data by dividing the range of values into intervals and plotting the frequency/density per interval as a bar.

hist(x, breaks = "Sturges", freq = NULL, ...)


x: value vector
breaks: number of bars
...

Following is a csv file example "histogram.csv", we will draw a Histogram of "Expression" values:


Let first read in the data from the file:

>x <- read.csv("histogram.csv",header=T,sep="\t")
>x <- t(x)
>ex <- as.numeric(x[2,1:ncol(x)])


Plot a histogram:

>hist(ex)



The above plot is just a basic histogram. Let's add some parameters:

•br=20, #divide the data into 20 bars
•col="blue", #fill in blue color
•main="Histogram of Expression", #title of the histogram
•xlab="Expression", #x axis description
•ylab="Frequency", #y axis description
•freq=TRUE, #y axis is the frequency of each interval


Here is the command:

>hist(ex,br=14,col="blue",xlab="Expression",ylab="Frequency",
+freq=TRUE,main="Histogram of Expression")



To add a density line into the histogram, we need to change two parameters:

•freq=FALSE, #y axis is the density value of each interval
•ylab="Density", #y axis description as Density


Here is the command:

>hist(ex,br=14,col="blue",xlab="Expression",ylab="Density",freq=FALSE,
+main="Histogram of Expression")
>lines(density(ex),col="red")



We can write the plot into a file:

>png("histogram3.png",400,300)
>hist(ex,br=14,col="blue",xlab="Expression",ylab="Density",
+freq=FALSE,main="Histogram of Expression")
>lines(density(ex),col="red")
>graphics.off()


List of hist(...) parameters: