Skip to content
Related Articles

Related Articles

Pie Charts in R using ggplot2
  • Last Updated : 25 Feb, 2021

A Pie Chart or Circle Chart is a circular statistical graphical technique that divides the circle in numeric proportion to represent data as a part of the whole. In Circle Chart the arc length of each slice is proportional to the quantity it represents. Pie charts are very widely used in the business world and the mass media to understand trends. 

Approach

  • Import module
  • Create data
  • Arrange the rows of a data frame by the values of selected columns.
  • Mutate to create a new variable from a data set
  • Plot pie chart
  • Display plot

Example 1:

R




library(ggplot2)
library(dplyr)
  
count.data <- data.frame(
    pilot_class = c("A++(Senior pilot)", "A+(Junior pilot)", "A-(Trainee pilot)", "Crew"),
    n = c(389, 256, 589, 466),
    proportion = c(22.88, 15.0588, 34.647, 27.411)
)
  
count.data
  
count.data <- count.data %>%
    arrange(desc(pilot_class)) %>%
    mutate(lab.ypos = cumsum(proportion) - 0.6*proportion)
  
count.data
  
mycols <- c("#42f55a", "#42f5e6", "#ecf542", "#f56f42")
  
ggplot(count.data, aes(x = "", y = proportion, fill = pilot_class)) +
    geom_bar(width = 1, stat = "identity", color = "black") +
    coord_polar("y", start = 0)+
    geom_text(aes(y = lab.ypos, label = proportion), color = "black")+
    scale_fill_manual(values = mycols) +
    theme_void()

Output:



Example 2:

R




Name_of_student <- c("Ankit", "Jack", "Prakhar", "Madahav", "shef"
            "sama", "karthik", "Ritwik", "Agnim", "Harsh")
  
contribution_in_project <- c(.103, .097, .103, .103,.097, .097, .10,.10,.10,.10 )
  
top_ten_contributors <- data.frame(Name_of_student,contribution_in_project)
top_ten_contributors
  
pie_2 <- ggplot(top_ten_contributors, aes(x = factor(1), fill = factor(contribution_in_project))) +
    geom_bar(width = 1)
  
pie_2 + coord_polar(theta = "y")

Output:


Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :