我正在尝试构建geom_linerange图,其中ymax是出现在我的数据中的非数值的计数。 x轴需要显示数据中可用的类别,而y轴是它们在数据中出现多少次的计数。与geom_bar相似,但我需要垂直线来代替bar。
数据是一行一行的数据集,在一个列中显示员工,在另一列中显示他们所属的类别。
ggplot(myData, aes(x = Category)) +
geom_linerange(aes(ymin = 0, ymax = ???))
如果我修复ymax = 1000
并添加stat = "count"
,以上方法就可以工作,但是我很难使它与ymax =
个值计数一起工作。请帮忙。
答案 0 :(得分:0)
首先汇总您的数据可能是最简单/最清晰的-包含计数列。
以下是使用mtcars
数据集的示例:
mtcars %>% group_by(cyl) %>%
summarise(n = n()) %>%
ggplot( aes(x = as.factor(cyl))) +
geom_linerange(aes(ymin = 0, ymax = n))
答案 1 :(得分:0)
您可以在数据集中添加1并使用stat_summary()
df <-
mpg %>%
mutate(n = 1)
ggplot(df, aes(x = factor(cyl), y = n)) +
stat_summary(geom = "linerange", ymin = 0, fun.ymax = "sum")
答案 2 :(得分:0)
谢谢。 mutate(n = 1)和stat_summary选项有效。