Open In App

Getting started with Data Visualization in R

Last Updated : 05 Jul, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Data visualization is the technique used to deliver insights in data using visual cues such as graphs, charts, maps, and many others. This is useful as it helps in intuitive and easy understanding of the large quantities of data and thereby make better decisions regarding it.

Data Visualization in R Programming Language

The popular data visualization tools that are available are Tableau, Plotly, R, Google Charts, Infogram, and Kibana. The various data visualization platforms have different capabilities, functionality, and use cases. They also require a different skill set. This article discusses the use of R for data visualization.

R is a language that is designed for statistical computing, graphical data analysis, and scientific research. It is usually preferred for data visualization as it offers flexibility and minimum required coding through its packages.

Consider the following airquality data set for visualization in R:

OzoneSolar R.WindTempMonthDay
411907.46751
361188.07252
1214912.67453
1831311.56254
NANA14.35655
28NA14.96656

Types of Data Visualizations

Some of the various types of visualizations offered by R are:

Bar Plot

There are two types of bar plots- horizontal and vertical which represent data points as horizontal or vertical bars of certain lengths proportional to the value of the data item. They are generally used for continuous and categorical variable plotting. By setting the horiz parameter to true and false, we can get horizontal and vertical bar plots respectively. 

Example 1: 

R
# Horizontal Bar Plot for 
# Ozone concentration in air
barplot(airquality$Ozone,
        main = 'Ozone Concenteration in air',
        xlab = 'ozone levels', horiz = TRUE)

Output:

Example 2: 

R
# Vertical Bar Plot for 
# Ozone concentration in air
barplot(airquality$Ozone, main = 'Ozone Concenteration in air', 
        xlab = 'ozone levels', col ='blue', horiz = FALSE)

Output:

Bar plots are used for the following scenarios:

  • To perform a comparative study between the various data categories in the data set.
  • To analyze the change of a variable over time in months or years.

Histogram

A histogram is like a bar chart as it uses bars of varying height to represent data distribution. However, in a histogram values are grouped into consecutive intervals called bins. In a Histogram, continuous values are grouped and displayed in these bins whose size can be varied.

Example: 

R
# Histogram for Maximum Daily Temperature
data(airquality)

hist(airquality$Temp, main ="La Guardia Airport's\
Maximum Temperature(Daily)",
    xlab ="Temperature(Fahrenheit)",
    xlim = c(50, 125), col ="yellow",
    freq = TRUE)

Output:

For a histogram, the parameter xlim can be used to specify the interval within which all values are to be displayed. 
Another parameter freq when set to TRUE denotes the frequency of the various values in the histogram and when set to FALSE, the probability densities are represented on the y-axis such that they are of the histogram adds up to one. 

Histograms are used in the following scenarios: 

  • To verify an equal and symmetric distribution of the data.
  • To identify deviations from expected values.

Box Plot

The statistical summary of the given data is presented graphically using a boxplot. A boxplot depicts information like the minimum and maximum data point, the median value, first and third quartile, and interquartile range.

Example: 

R
# Box plot for average wind speed
data(airquality)

boxplot(airquality$Wind, main = "Average wind speed\
at La Guardia Airport",
        xlab = "Miles per hour", ylab = "Wind",
        col = "orange", border = "brown",
        horizontal = TRUE, notch = TRUE)

Output:

Multiple box plots can also be generated at once through the following code:

Example: 

R
# Multiple Box plots, each representing
# an Air Quality Parameter
boxplot(airquality[, 0:4], 
        main ='Box Plots for Air Quality Parameters')

Output:

Box Plots are used for: 

  • To give a comprehensive statistical description of the data through a visual cue.
  • To identify the outlier points that do not lie in the inter-quartile range of data.

Scatter Plot

A scatter plot is composed of many points on a Cartesian plane. Each point denotes the value taken by two parameters and helps us easily identify the relationship between them.

Example: 

R
# Scatter plot for Ozone Concentration per month
data(airquality)

plot(airquality$Ozone, airquality$Month,
     main ="Scatterplot Example",
    xlab ="Ozone Concentration in parts per billion",
    ylab =" Month of observation ", pch = 19)

Output:

Scatter Plots are used in the following scenarios: 

  • To show whether an association exists between bivariate data.
  • To measure the strength and direction of such a relationship.

Heat Map

Heatmap is defined as a graphical representation of data using colors to visualize the value of the matrix. heatmap() function is used to plot heatmap.

Syntax: heatmap(data)

Parameters: data: It represent matrix data, such as values of rows and columns

Return: This function draws a heatmap.

R
# Set seed for reproducibility
# set.seed(110)

# Create example data
data <- matrix(rnorm(50, 0, 5), nrow = 5, ncol = 5)

# Column names
colnames(data) <- paste0("col", 1:5)
rownames(data) <- paste0("row", 1:5)

# Draw a heatmap
heatmap(data)        

Output:

Map visualization in R

Here we are using maps package to visualize and display geographical maps using an R programming language.

install.packages("maps")
R
# Read dataset and convert it into
# Dataframe
data <- read.csv("worldcities.csv")
df <- data.frame(data)

# Load the required libraries
library(maps)
map(database = "world")
  
# marking points on map
points(x = df$lat[1:500], y = df$lng[1:500], col = "Red")

Output:

3D Graphs in R 

Here we will use preps() function, This function is used to create 3D surfaces in perspective view. This function will draw perspective plots of a surface over the x–y plane.

Syntax: persp(x, y, z)

Parameter: This function accepts different parameters i.e. x, y and z where x and y are vectors defining the location along x- and y-axis. z-axis will be the height of the surface in the matrix z.

Return Value: persp() returns the viewing transformation matrix for projecting 3D coordinates (x, y, z) into the 2D plane using homogeneous 4D coordinates (x, y, z, t).

R
# Adding Titles and Labeling Axes to Plot
cone <- function(x, y){
sqrt(x ^ 2 + y ^ 2)
}
  
# prepare variables.
x <- y <- seq(-1, 1, length = 30)
z <- outer(x, y, cone)
  
# plot the 3D surface
# Adding Titles and Labeling Axes to Plot
persp(x, y, z,
main="Perspective Plot of a Cone",
zlab = "Height",
theta = 30, phi = 15,
col = "orange", shade = 0.4)

Output:

Advantages of Data Visualization in R: 

R has the following advantages over other tools for data visualization: 

  • R offers a broad collection of visualization libraries along with extensive online guidance on their usage.
  • R also offers data visualization in the form of 3D models and multipanel charts.
  • Through R, we can easily customize our data visualization by changing axes, fonts, legends, annotations, and labels.

Disadvantages of Data Visualization in R:

R also has the following disadvantages: 

  • R is only preferred for data visualization when done on an individual standalone server.
  • Data visualization using R is slow for large amounts of data as compared to other counterparts.

Application Areas: 

  • Presenting analytical conclusions of the data to the non-analysts departments of your company.
  • Health monitoring devices use data visualization to track any anomaly in blood pressure, cholesterol and others.
  • To discover repeating patterns and trends in consumer and marketing data.
  • Meteorologists use data visualization for assessing prevalent weather changes throughout the world.
  • Real-time maps and geo-positioning systems use visualization for traffic monitoring and estimating travel time.


Previous Article
Next Article

Similar Reads

Getting Started With ChatGPT: A Complete Guide With Examples
Artificial Intelligence (AI) has brought about a significant transformation in the software industry and its technologies, revolutionizing the business landscape. Chatbots are one of the types of AI-powered platforms that mimic human-like conversation. Among these platforms, ChatGPT is a powerful tool that has quickly gained popularity on the inter
15+ min read
Getting Started With Google Colab
Google Colab is the short form for "Google Colabortory". It is an executable document that lets you write, run, and share code or you can think as an improved version of "Jupyter Notebook" stored in Google Drive. You might be wondering about the word "Notebook", in simple words it is just a document that includes executable lines of code along with
6 min read
Getting started with Machine Learning
From translation apps to autonomous vehicles, all powers with Machine Learning. It offers a way to solve problems and answer complex questions. It is basically a process of training a piece of software called an algorithm or model, to make useful predictions from data. This article discusses the categories of machine learning problems, and terminol
7 min read
Getting started with Classification
As the name suggests, Classification is the task of “classifying things” into sub-categories. Classification is part of supervised machine learning in which we put labeled data for training. The article serves as a comprehensive guide to understanding and applying classification techniques, highlighting their significance and practical implications
12 min read
Getting Started with Plotly in R
creationPlotly in R Programming Language allows the creation of interactive web graphics from 'ggplot2' graphs and a custom interface to the JavaScript library 'plotly.js' inspired by the grammar of graphics. InstallationTo use a package in R programming one must have to install the package first. This task can be done using the command install.pac
5 min read
Getting Started With Object Tracking Using OpenCV
OpenCV, developed by Intel in the early 2000s, is a popular open-source computer vision library used for real-time tasks. It offers various features like image processing, face detection, object detection, and more. In this article, we explore object-tracking algorithms and how to implement them using OpenCV and Python to track objects in videos. G
4 min read
Getting started with Kaggle : A quick guide for beginners
Kaggle is an online community of Data Scientists and Machine Learning Engineers which is owned by Google. A general feeling of beginners in the field of Machine Learning and Data Science towards the website is of hesitance. This feeling mainly arises because of the misconceptions that the outside people have about the website. Here are some of them
3 min read
Why Data Visualization Matters in Data Analytics?
What if you wanted to know the number of movies produced in the world per year in different countries? You could always read this data in the form of a black and white text written on multiple pages. Or you could have a colorful bar chart that would immediately tell you which countries are producing more movies and if the total movies per year are
7 min read
Difference Between Data Mining and Data Visualization
Data mining: Data mining is the method of analyzing expansive sums of data in an exertion to discover relationships, designs, and insights. These designs, concurring to Witten and Eibemust be "meaningful in that they lead to a few advantages, more often than not a financial advantage." Data in data mining is additionally ordinarily quantitative par
2 min read
Difference Between Data Visualization and Data Analytics
Data Visualization: Data visualization is the graphical representation of information and data in a pictorial or graphical format(Example: charts, graphs, and maps). Data visualization tools provide an accessible way to see and understand trends, patterns in data and outliers. Data visualization tools and technologies are essential to analyze massi
3 min read
three90RightbarBannerImg