如何从ggplot中删除1 out of 2 of legends?

时间:2016-06-08 16:33:46

标签: r ggplot2 legend

我想创建累积频率图。这是一些示例代码:

library(ggplot2)

year <- c(2010, 2011, 2012, 2010, 2011, 2012)
type <- c("A", "A", "A", "B", "B", "B")
freq <- c(10, 20, 30, 15, 15, 35)

df <- data.frame(year, type, freq)

ggplot(df, aes(x = year, y = freq, fill = type)) +
  geom_bar(stat = "sum")

ggplot2创建2个图例:上面一个“类型A和B”(彩色),另一个“n 1”(灰色)。 enter image description here

我可以用 + guide(fill = FALSE)删除(上部)A和B类型的图例,但我无法删除下面的灰色n 1图例。

第二个问题:是否可以将变量绘制成相同的顺序? ggplot2显然从底部开始,数字较小。

1 个答案:

答案 0 :(得分:2)

您可以使用stat="identity"代替stat="sum"

ggplot(df, aes(x = year, y = freq, fill = type)) + geom_bar(stat = "identity")

enter image description here

这将删除不必要的灰色“n 1”图例,并将堆叠条形图中的类型A始终放在类型B下方。