Вот мое решение:
1-й) Создайте новый столбец, который позволит нам передать его в аргумент заполнения.
2nd) Измените данные с широких на длинные, чтобы упростить ggplot.
3-й) Сделайте переменную дня фактором и измените ее порядок
4-й) Участок с использованием позиции = "уклонение"
library(tidyverse)
# Sample CSV data
x <- read.csv(text="month, mon, tues, wed, thurs, fri, sat, sun
9, 1, 3, 5, 7, 1, 2, 2
9, 1, 6, 8, 1, 1, 2, 3")
##
graph <- x %>% mutate(rows = 1:nrow(x)) %>%
gather(day, measure, -month, -rows) %>%
mutate(day = factor(day,
levels = c("mon","tues","wed","thurs", "fri", "sat","sun"))) %>%
ggplot(aes(x = day, y = measure, fill = as.character(rows))) +
geom_col(position = "dodge")
graph