Изменить: Этот вопрос был отмечен как дублированный, но ответы здесь были опробованы и не работали, потому что рассматриваемый случай это линейная диаграмма, а не гистограмма. Применение этих методов дает диаграмму с 5 строками, 1 для каждого года - не полезно. Кто-нибудь, кто проголосовал за то, чтобы отмечать как дубликат, на самом деле попробовал эти подходы к образцу данных, предоставленному этим вопросом? Если это так, напишите как ответ.
Оригинальный вопрос:
Есть функция в сводных диаграммах Excel, которая допускает многоуровневые категориальные оси. Я пытаюсь найти способ сделать то же самое с ggplot
(или любым другим графическим пакетом в R).
Рассмотрим следующий набор данных:
set.seed(1)
df=data.frame(year=rep(2009:2013,each=4),
quarter=rep(c("Q1","Q2","Q3","Q4"),5),
sales=40:59+rnorm(20,sd=5))
Если это импортировано в сводную таблицу Excel, просто создать следующую диаграмму:
Обратите внимание, как ось x имеет два уровня: один для четверти и один для переменной группировки, год. Возможны ли многоуровневые оси с помощью ggplot
?
NB: Есть хак с фасетками, которые производят нечто подобное, но это не то, что я ищу.
library(ggplot2)
ggplot(df) +
geom_line(aes(x=quarter,y=sales,group=year))+
facet_grid(.~year,scales="free")