RSS

Monthly Archives: March 2015

ggplot2 – R way to Visualizing Data


I did an analysis on Delhi Assembly election – 2015 and published it on shiny apps, visit into the link and post your comments below. ggplot is an R package for data exploration and producing plots. It produces fantastic-looking graphics and allows one to slice and dice one’s data in many different ways.

First, install and include ggplot2

install.packages(“ggplot2”)
library(ggplot2)

Suppose we have data set

df <- data.frame(year=c(2013,2014,2013,2014,2013,2014,2013,2014), region = c(“Region1″,”Region1″,”Region2”, “Region2″,”Region3”, “Region3″,”Region4”, “Region4”), rainfall=c(250, 221,124,267,348,321,289,329))

To plot a comapritive point graph, we can increase or decrease the size of point using “Size” option

ggplot(df, aes(region, rainfall, shape = region, color=year)) + geom_point(size = 5)

Rplot-1

 

to plot a comapritive column bar graph, we use geom_bar

> ggplot(df, aes(region, rainfall, fill=as.factor(year)))+ geom_bar(stat=”identity”, width=.3,position=”dodge”)

Rplot-2

To adjust the overlapping points on layers, we can use position=”stack” , “dodge” or “fill”.

Dodge – Adjust position by dodging overlaps to the side
Stack – One bar on the top of another
Fill – Stack type format but all the bar are of same height

>ggplot(df, aes(region, rainfall, fill=as.factor(year)))+ geom_bar(stat=”identity”, width=.3,position=”stack”)

Rplot-4

>ggplot(df, aes(region, rainfall, fill=as.factor(year)))+ geom_bar(stat=”identity”, width=.3,position=”fill”)

Rplot-5

To draw, line chart, we use geom_line()

Rplot-6

 

Beautification of Plot

Number of of options provided by the ggplot2 to beautify the plot, we can labeling axis, title of the plot, legends.

>ggplot(df, aes(region, rainfall, group = year, color=as.factor(year))) + geom_line()+ scale_fill_manual(values = colors)+xlab(“Regions”)+ylab(“Rainfall in mm”)+ggtitle(“Rainfall in 4 Regions”)+theme(legend.position=”top”, legend.title=element_blank(), plot.title = element_text(lineheight=3, face=”bold”, color=”black”, size=14))

Rplot-8

Data Spliting

Another powerfull feature of ffplot, split the data into multiple plots, we can use facets

>ggplot(r1, aes(variable, value, fill=as.factor(variable)))+ geom_bar(stat=”identity”, width=.3,position=”dodge”) +facet_wrap(~region)+xlab(“Time Periods”)+ylab(“Rainfall in mm”)+ggtitle(“Rainfall Distribution”)+theme(legend.position=”right”, legend.title=element_blank())

multiple Rplot

 

 
1 Comment

Posted by on March 19, 2015 in ggplot2, ggplot2 - Introduction

 

Tags: , , , , , ,