Während dies normalerweise nicht die Art von Grafik ist, die Sie in R erstellen würden, könnten Sie es sicherlich mit ausreichender Beinarbeit durchführen.
Ich denke, das bekommen Sie jumpstarted:
require(lubridate)
require(ggplot2)
df <- as.data.frame(matrix(nrow=14,ncol=3))
colnames(df) <- c("Person", "Time", "Activity")
df$Person <- c("A","A","A","A","A","A", "A",
"B","B","B","B","B","B", "B")
df$Time <- as.character(hours(c(10,11,12,13,14,15,16)))
df$Activity <- c(NA, "Activity 1", NA, "Activity 2", NA, "Activity 3","Activity 3",
NA, "Activity 1", "Activity 2", NA, NA, "Activity 3", NA)
ggplot(df, aes(Time, Person)) + geom_tile(aes(fill = Activity),
colour = "white") + scale_fill_manual(values = rainbow (3))

Sie es auf die nächste Ebene durch die Erkundung der ggplot2
Optionen und machen eine weitere Anpassung es näher an das Bild zu bekommen nehmen Sie zog . Zum Beispiel sollten Sie
- ändern sich die Abmessungen der Stäbe
- Overlay die Etiketten von der Legende der Lage sein (
geom_label
ist ein Weg)
- Feinabstimmung der Striche
nur durch überlesen und die Optionen optimieren. Ich habe vor kurzem eine Antwort auf sehr individuelle Tick-Markierungen gegeben, die Sie auf SO mit einer schnellen Suche finden können.