在ggplot中使用barplot而不按组折叠
using barplot in ggplot without collapsing by groups
我想使用 ggplot 创建条形图,但不按(分类)x 汇总观察结果。例如,这是我想要使用 R 基本绘图系统的结果:
library(ggplot2)
data <- data.frame(lab = c("a", "b", "b", "c", "a"),
val = c(2, 5, 6, 3, 1))
barplot(data$val, names.arg = data$lab)
这就是我想要的:
但是,如果我使用 ggplot,这就是我得到的:
ggplot(data, aes(lab, val)) + geom_bar(stat = "identity")
使用ggplot得到我想要的情节的正确方法是什么?谢谢!
您可以沿 lab
值创建一个新变量作为 x
,然后重新标记它们。
ggplot(data, aes(as.character(seq_along(lab)), val)) + geom_bar(stat = "identity") +
scale_x_discrete("lab", labels = c("1" = "a", "2" = "b", "3" = "b", "4" = "c", "5" = "a"))
我想使用 ggplot 创建条形图,但不按(分类)x 汇总观察结果。例如,这是我想要使用 R 基本绘图系统的结果:
library(ggplot2)
data <- data.frame(lab = c("a", "b", "b", "c", "a"),
val = c(2, 5, 6, 3, 1))
barplot(data$val, names.arg = data$lab)
这就是我想要的:
但是,如果我使用 ggplot,这就是我得到的:
ggplot(data, aes(lab, val)) + geom_bar(stat = "identity")
使用ggplot得到我想要的情节的正确方法是什么?谢谢!
您可以沿 lab
值创建一个新变量作为 x
,然后重新标记它们。
ggplot(data, aes(as.character(seq_along(lab)), val)) + geom_bar(stat = "identity") +
scale_x_discrete("lab", labels = c("1" = "a", "2" = "b", "3" = "b", "4" = "c", "5" = "a"))