R – Bar Charts

A bar chart is a pictorial representation of data that presents categorical data with rectangular bars with heights or lengths proportional to the values that they represent. In other words, it is the pictorial representation of dataset. These data sets contain the numerical values of variables that represent the length or height.

R uses the function barplot() to create bar charts. Here, both vertical and Horizontal bars can be drawn.

Syntax:

barplot(H, xlab, ylab, main, names.arg, col)

Parameters:

  • H: This parameter is a vector or matrix containing numeric values which are used in bar chart.
  • xlab: This parameter is the label for x axis in bar chart.
  • ylab: This parameter is the label for y axis in bar chart.
  • main: This parameter is the title of the bar chart.
  • names.arg: This parameter is a vector of names appearing under each bar in bar chart.
  • col: This parameter is used to give colors to the bars in the graph.

Creating a Simple Bar Chart

Approach: In order to create a Bar Chart:



  1. A vector (H <- c(Values…)) is taken which contain numeral values to be used.
  2. This vector H is plot using barplot().

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

# Create the data for the chart
A <- c(17, 32, 8, 53, 1)
  
# Plot the bar chart 
barplot(A, xlab = "X-axis", ylab = "Y-axis", main ="Bar-Chart")

chevron_right


Output:

Creating a Horizontal Bar Chart

Approach: To create a horizontal bar chart:

  1. Take all parameters which are required to make simple bar chart.
  2. Now to make it horizontal new parameter is added.
    barplot(A, horiz=TRUE )

Example: Creating a horizontal bar chart

filter_none

edit
close

play_arrow

link
brightness_4
code

# Create the data for the chart
A <- c(17, 32, 8, 53, 1)
   
# Plot the bar chart 
barplot(A, horiz = TRUE, xlab = "X-axis",
        ylab = "Y-axis", main ="Bar-Chart")

chevron_right


Output:

Adding Label, Title and Color in the BarChart

Label, title and colors are some properties in the bar chart which can be added to the bar by adding and passing an argument.
Approach:

  1. To add the title in bar chart.
    barplot( A, main = title_name )
  2. X-axis and Y-axis can be labeled in bar chart. To add the label in bar chart.
    barplot( A, xlab= x_label_name, ylab= y_label_name)
  3. To add the color in bar chart.
    barplot( A, col=color_name)

Example :

filter_none

edit
close

play_arrow

link
brightness_4
code

# Create the data for the chart
A <- c(17, 2, 8, 13, 1, 22)
B <- c("Jan", "feb", "Mar", "Apr", "May", "Jun")
  
# Plot the bar chart 
barplot(A, names.arg = B, xlab ="Month"
        ylab ="Articles", col ="green"
        main ="GeeksforGeeks-Article chart")

chevron_right


Output:

Creating Stacked and Grouped Bar Chart

The bar chart can be represented in two form group of bars and stacked.
Approach:

  1. Take a vector value and make it matrix M which to be grouped or stacked. Making of matrix can be done by.
    M <- matrix(c(values...), nrow = no_of_rows, ncol = no_of_column, byrow = TRUE)
  2. To display the bar explicitly we can use the beside parameter.
    barplot( beside=TRUE )

Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

colors = c("green", "orange", "brown")
months <- c("Mar", "Apr", "May", "Jun", "Jul")
regions <- c("East", "West", "North")
  
# Create the matrix of the values.
Values <- matrix(c(2, 9, 3, 11, 9, 4, 8, 7, 3, 12, 5, 2, 8, 10, 11), 
                 nrow = 3, ncol = 5, byrow = TRUE)
  
# Create the bar chart
barplot(Values, main = "Total Revenue", names.arg = months, 
                          xlab = "Month", ylab = "Revenue"
                          col = colors, beside = TRUE)
  
# Add the legend to the chart
legend("topleft", regions, cex = 0.7, fill = colors)

chevron_right


Output:

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

colors = c("green", "orange", "brown")
months <- c("Mar", "Apr", "May", "Jun", "Jul")
regions <- c("East", "West", "North")
   
# Create the matrix of the values.
Values <- matrix(c(2, 9, 3, 11, 9, 4, 8, 7, 3, 12, 5, 2, 8, 10, 11),
                   nrow = 3, ncol = 5, byrow = TRUE)
   
# Create the bar chart
barplot(Values, main = "Total Revenue", names.arg = months, 
        xlab = "Month", ylab = "Revenue", col = colors)
   
# Add the legend to the chart
legend("topleft", regions, cex = 0.7, fill = colors)

chevron_right


Output:




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.