Я работаю в обновленном ggplot2 (2.2.0). Большой новой особенностью является возможность построения вдоль каждой оси х для нечетного числа графиков, согласно странице this.Как получить все метки оси x, включая отсутствующие данные, в ggplot2 с facet_wrap?
Я хочу построить одну и ту же ось х в каждой грани. Однако это не работает при вводе отсутствующих данных. В качестве примера я опишу примерные данные в вопросе this. не
# Example dataset
dataf <- data.frame(x=c(1:30), A=rnorm(30,20,5), B=rnorm(30,15,0.5))
datam <- melt(dataf, id="x")
# Plot in ggplot2
ggplot(datam, aes(factor(x), value)) +
geom_bar(stat="identity") +
facet_wrap(~variable,nrow = 2,scales = "free")
Когда я удалить отдельные строки и ввести недостающие данные (в соответствии с моим кодом ниже), я больше не иметь те же х-метки осей как для «A» и «B».
# Remove certain rows to introduce missing data
datam <- datam[-c(2, 4, 58), ]
Я могу построить недостающие значения и выровнять по нижней оси х с использованием scales = fixed
хотя я больше не имею осей х галочка метки для группы «А» в фаске.
ggplot(datam, aes(factor(x), value)) +
geom_bar(stat="identity") +
facet_wrap(~variable,nrow = 2,scales = "fixed")
Каким образом отображаются одинаковые ярлыки оси X для каждой грани, даже если отсутствуют данные?
спасибо.
@hadley - есть ли функциональность внутри ggplot2, пожалуйста, сделайте это без использования обходного пути в ответе ниже? – user2716568