Ggplot2 kullanarak r'de gantt grafiği nasıl oluşturulur


Gantt şeması, çeşitli olayların başlangıç ve bitiş zamanlarını gösteren bir grafik türüdür.

Bu eğitimde, ggplot2 paketini kullanarak R’de bir Gantt grafiğinin nasıl oluşturulacağı açıklanmaktadır.

Ggplot2 kullanarak R’de Gantt grafiği oluşturma

Bir mağazadaki dört farklı işçi vardiyasının başlangıç ve bitiş zamanlarını gösteren aşağıdaki veri setine sahip olduğumuzu varsayalım:

 #create data frame
data <- data.frame(name = c('Bob', 'Greg', 'Mike', 'Andy'), 
start = c(4, 7, 12, 16),
end = c(12, 11, 8, 22),
shift_type = c('early', 'mid_day', 'mid_day', 'late')
)
data

# name start end shift_type
#1 Bob 4 12 early
#2 Greg 7 11 mid_day
#3 Mike 12 8 mid_day
#4 Andy 16 22 late

Her çalışanın başlangıç ve bitiş zamanlarını görselleştiren ggplot2’yi kullanarak bir Gantt şeması oluşturmak için aşağıdaki kodu kullanabiliriz:

 #install (if not already installed) and load ggplot2
if(!require(ggplot2)){install.packages('ggplot2')}

#create gantt chart that visualizes start and end time for each worker
ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  geom_segment()

Bu, aşağıdaki Gantt şemasını üretir:

Düzende birkaç değişiklik yaparak bu Gantt grafiğinin çok daha iyi görünmesini sağlayabiliriz:

 ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
theme_bw()+ #use ggplot theme with black gridlines and white background
geom_segment(size=8) + #increase line width of segments in the chart
labs(title='Worker Schedule', x='Time', y='Worker Name')

Bu, aşağıdaki grafiği üretir:

Ayrıca grafikte kullanılacak renkleri tam olarak ayarlamak istiyorsanız aşağıdaki kodu kullanabilirsiniz:

 ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  theme_bw()+ #use ggplot theme with black gridlines and white background
  geom_segment(size=8) + #increase line width of segments in the chart
  labs(title='Worker Schedule', x='Time', y='Worker Name') +
  scale_color_manual(values = c('pink', 'purple', 'blue'))

Bu, farklı kaydırma türlerini temsil eden pembe, mor ve mavi renklerin bulunduğu aşağıdaki grafiği üretir:

Özel temalar kullanın

Ggthemes kütüphanesindeki özel temaları kullanarak daha da ileri gidebiliriz.

Örneğin, Wall Street Journal’dan ilham alan bir temayı kullanan bir Gantt grafiği oluşturabiliriz:

 #load ggthemes library
library(ggthemes)

#create scatterplot with Wall Street Journal theme
ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  theme_bw()+
  geom_segment(size=8) +
  labs(title='Worker Schedule', x='Time', y='Worker Name') +
  scale_color_manual(values = c('pink', 'purple', 'blue')) +
  theme_wsj() + 
  theme(axis.title = element_text())

Ya da The Economist’ten ilham alan bir tema kullanabiliriz:

 ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  theme_bw()+
  geom_segment(size=8) +
  labs(title='Worker Schedule', x='Time', y='Worker Name') +
  scale_color_manual(values = c('pink', 'purple', 'blue')) +
  theme_economist() + 
  theme(axis.title = element_text())

Ya da belki Beş Otuz Sekiz’den ilham alan bir tema:

 ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  theme_bw()+
  geom_segment(size=8) +
  labs(title='Worker Schedule', x='Time', y='Worker Name') +
  scale_color_manual(values = c('pink', 'purple', 'blue')) +
  theme_fivethirtyeight() + 
  theme(axis.title = element_text())

ggthemes kitaplığında bulunan temaların tam listesi için dokümantasyon sayfasına bakın.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir