Visualisasi Data - Pie chart

Pie chart adalah lingkaran yang dibagi menjadi beberapa sektor yang masing-masing mewakili proporsi keseluruhan.

Data yang digunakan diperoleh dari https://www.kaggle.com/datasets/arnabchaki/data-science-salaries-2023

library(readxl)
library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data <- read_excel("D:/CHISTAT LEARNING/R SERIES/DATASET/ds_salaries.xlsx", col_names=TRUE)
data
## # A tibble: 3,755 × 11
##    work_year experience_level employment_type job_title   salary salary_currency
##        <dbl> <chr>            <chr>           <chr>        <dbl> <chr>          
##  1      2023 SE               FT              Principal …  80000 EUR            
##  2      2023 MI               CT              ML Engineer  30000 USD            
##  3      2023 MI               CT              ML Engineer  25500 USD            
##  4      2023 SE               FT              Data Scien… 175000 USD            
##  5      2023 SE               FT              Data Scien… 120000 USD            
##  6      2023 SE               FT              Applied Sc… 222200 USD            
##  7      2023 SE               FT              Applied Sc… 136000 USD            
##  8      2023 SE               FT              Data Scien… 219000 USD            
##  9      2023 SE               FT              Data Scien… 141000 USD            
## 10      2023 SE               FT              Data Scien… 147100 USD            
## # ℹ 3,745 more rows
## # ℹ 5 more variables: salary_in_usd <dbl>, employee_residence <chr>,
## #   remote_ratio <dbl>, company_location <chr>, company_size <chr>

Membuat Basic pie chart

ggplot(data = data, aes(x = "", fill = experience_level)) +
  geom_bar(width = 1) +
  coord_polar(theta = "y") +
  labs(title = "Distribusi Experience Level",
       fill = "Experience Level") +
  theme_void()

Menambahkan Label Pada Pie Chart

# Menghitung jumlah pengamatan untuk setiap kategori experience_level
experience_counts <- table(data$experience_level)

# Menghitung persentase setiap kategori experience_level
experience_percent <- round((experience_counts / sum(experience_counts)) * 100, 1)

# Membuat dataframe agregat
aggregated_data <- data.frame(
  experience_level = names(experience_counts),
  experience_count = as.numeric(experience_counts),
  experience_percent
)

# Membuat pie chart dengan persentase nilai
colors <- c("#58BECA", "#FE74BB", "#5BCEAC", "#EADA62")

ggplot(data = aggregated_data, aes(x = "", y = experience_percent, fill = experience_level)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar(theta = "y") +
  labs(title = "Persentase Data Scientist Berdasarkan Tingkat Pengalaman Kerja",
       fill = "Tingkat Pengalaman Kerja") +
  theme_void() +
  geom_text(aes(label = paste0(experience_percent, "%")), 
            position = position_stack(vjust = 0.5),
            size=3.5)+
  theme(plot.title = element_text(size = 10, hjust = 0.5, face="bold", color="black"),
        legend.text = element_text(size = 10), legend.position = "left")+
  scale_fill_manual(values=colors)
## Don't know how to automatically pick scale for object of type <table>.
## Defaulting to continuous.