1

ここでグループを間違って使用している可能性があると思われますが、以下の例で塗りつぶしの色が無視される理由を理解できないようです.

df <- data.frame(a = factor(c(1,1,2,2,1,2,1,2)), 
                 b = factor(c(1,2,3,4,5,6,7,2)), 
                 c = factor(c(1,2,1,2,1,2,1,2)))
p <- ggplot(df, aes(x=b)) +
  geom_bar(aes(y =  ..density.., group = c, fill=a), binwidth = 1) + 
  facet_wrap(~ c) +
  scale_y_continuous(labels = percent_format()) +
  scale_color_hue()
p

どんな助けでも大歓迎です。よろしくお願いします。 --JT

4

1 に答える 1

1

私はあなたが今求めているプロットを理解していると思います。私はこのようなことをします:

df <- data.frame(a = c(1,1,2,2,1,2,1,2), 
             b = c(1,2,3,4,5,6,7,2), 
             c = c(1,2,1,2,1,2,1,2))

df <- within(df, { f <- 1 / ave(b, list(c), FUN=length)})
df[, 1:3] <- lapply(df[, 1:3], as.factor)

ggplot(df, aes(x = b)) + geom_bar(stat = "identity", position = "stack", 
           aes(y = f, group = c, fill = a), binwidth = 1) + facet_wrap(~ c) + 
           scale_y_continuous(labels = percent_format())

これにより、プロットが得られます。

ここに画像の説明を入力

于 2013-05-03T11:10:43.970 に答える