如何从 ggplot 中删除二分之一的图例?
How to remove 1 out 2 of legends from ggplot?
我想创建一个累积频率图。这是一些示例代码:
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 个图例:上面的一个 "type A and B"(彩色),另一个 "n 1"(灰色)。
我可以使用 + guides(fill=FALSE) 删除(上部)A 型和 B 型图例,但我无法删除下部灰色 n 1 图例.
第二个问题:是否可以让变量始终以相同的顺序绘制? ggplot2 显然是从数字较小的底部开始的。
您可以使用 stat="identity"
而不是 stat="sum"
:
ggplot(df, aes(x = year, y = freq, fill = type)) + geom_bar(stat = "identity")
这会删除不必要的灰色 "n 1" 图例,并在堆叠条形图中将类型 A 始终置于类型 B 下方。
我想创建一个累积频率图。这是一些示例代码:
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 个图例:上面的一个 "type A and B"(彩色),另一个 "n 1"(灰色)。
我可以使用 + guides(fill=FALSE) 删除(上部)A 型和 B 型图例,但我无法删除下部灰色 n 1 图例.
第二个问题:是否可以让变量始终以相同的顺序绘制? ggplot2 显然是从数字较小的底部开始的。
您可以使用 stat="identity"
而不是 stat="sum"
:
ggplot(df, aes(x = year, y = freq, fill = type)) + geom_bar(stat = "identity")
这会删除不必要的灰色 "n 1" 图例,并在堆叠条形图中将类型 A 始终置于类型 B 下方。