So erstellen sie ein gantt-diagramm in r mit ggplot2


Ein Gantt-Diagramm ist eine Art Diagramm, das die Start- und Endzeiten verschiedener Ereignisse anzeigt.

In diesem Tutorial wird erklärt, wie Sie mit dem Paket ggplot2 ein Gantt-Diagramm in R erstellen.

Erstellen eines Gantt-Diagramms in R mit ggplot2

Nehmen wir an, wir haben den folgenden Datensatz, der die Start- und Endzeiten von vier verschiedenen Arbeiterschichten in einem Geschäft zeigt:

 #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

Um mit ggplot2 ein Gantt-Diagramm zu erstellen, das die Start- und Endzeiten jedes Arbeiters visualisiert, können wir den folgenden Code verwenden:

 #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()

Dadurch entsteht das folgende Gantt-Diagramm:

Mit ein paar Änderungen am Layout können wir dieses Gantt-Diagramm viel besser aussehen lassen:

 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')

Dadurch entsteht die folgende Grafik:

Wenn Sie außerdem die genauen Farben festlegen möchten, die im Diagramm verwendet werden sollen, können Sie den folgenden Code verwenden:

 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'))

Dadurch entsteht das folgende Diagramm mit den Farben Pink, Lila und Blau, um die verschiedenen Schichttypen darzustellen:

Verwenden Sie benutzerdefinierte Designs

Wir können noch weiter gehen, indem wir benutzerdefinierte Designs aus der ggthemes- Bibliothek verwenden.

Wir können beispielsweise ein Gantt-Diagramm erstellen, das ein vom Wall Street Journal inspiriertes Thema verwendet:

 #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())

Oder wir könnten ein von The Economist inspiriertes Thema verwenden:

 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())

Oder vielleicht ein von Five Thirty Eight inspiriertes Thema:

 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())

Eine vollständige Liste der in der ggthemes- Bibliothek verfügbaren Themes finden Sie auf der Dokumentationsseite .

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert