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.