R 如何在条形图中堆叠标高?

R 如何在条形图中堆叠标高?,r,ggplot2,R,Ggplot2,我正在尝试从2x2数据帧构建一个堆叠条形图。我使用的是ggplot2 1.0.0。不幸的是,包含B级别数据的列只显示一种颜色,而不是两种颜色 df <- data.frame(x1 = rep(c("A","B"), each = 2), x2 = c(75.0, 25.0, 50.0, 50.0)) fig1 <- ggplot(data = df, aes(x = x1, y = x2)) + geom_bar(aes(x1, fill = x2), stat = "iden

我正在尝试从2x2数据帧构建一个堆叠条形图。我使用的是
ggplot2 1.0.0
。不幸的是,包含
B
级别数据的列只显示一种颜色,而不是两种颜色

df <- data.frame(x1 = rep(c("A","B"), each = 2), x2 = c(75.0, 25.0, 50.0, 50.0))


fig1 <- ggplot(data = df, aes(x = x1, y = x2)) + geom_bar(aes(x1, fill = x2), stat = "identity") + xlab("") + ylab("%") + ggtitle("df")
fig1 + geom_text(aes(label = x2), vjust = -0.8, colour = "white")

df填充时使用了连续刻度,因此两个50值具有相同的颜色。您可以使用如下离散比例:

ggplot(transform(df, var = as.factor(1:2)), 
       aes(x = x1, y = x2, fill = var)) + 
   geom_bar(stat = "identity")

非常感谢。你能加上这个作为回答吗?这样我就可以接受了?