2014-09-03 3 views
0
library(ggplot2) 
set.seed(2) 
a = sort(rep(c("A","B"),6)) 
b = c(rep(1:3,2),rep(4:6,2)) 
cc = rnorm(length(a)) 
d = rep(sort(rep(1:2,3)),2) 
df = data.frame(a,b,cc,d) 
print(df) 
ggplot(df, aes(x = as.factor(b), y = cc, fill = as.factor(d))) + 
    geom_bar(stat = "identity", position = "dodge") + 
    facet_wrap(~a) 

В следующем сюжете: Как избавиться от избыточных значений х-оси для каждого из факторов т.е. «А» & «B». Я имею в виду, что 4: 6 не требуются для «А» и аналогично 1: 3 для «В». Какую настройку мне нужно сделать?ggplot удалить избыточную ось х значений

ответ

1

facet_wrap и facet_grid оба имеют scales аргумент, который позволит вам определить, какой из x и/или y чешуи должны быть свободными или фиксированными.

В вашем случае, вы хотите x размеры, чтобы быть свободным, чтобы быть различными в обоих аспектах, поэтому

ggplot(df, aes(x = as.factor(b), y = cc, fill = as.factor(d))) + 
    geom_bar(stat = "identity", position = "dodge") + 
    facet_wrap(~ a, scales = 'free_x') 
+0

Wow это было так просто ... Извините за беспокойство, должно быть больше читать. Глупый я. –

Смежные вопросы