【问题标题】:plot counts with intervals in x axis using ggplot2使用 ggplot2 在 x 轴上以间隔绘制计数
【发布时间】:2018-11-01 01:43:26
【问题描述】:
c1 <- c("p2","p3","p1","p2","p1","p3","p4","p4","p4","p1","p1","p2","p2","p3","p4","p2","p1","p4","p3","p3")
c2 <- c(41,146,79,107,131,127,32,88,119,148,32,65,36,23,44,76,100,98,121,104)

df <- data.frame(c1=c1, c2=c2)

我正在尝试在 ggplot2 中创建一个堆积条形图,其中 x 轴为间隔,y 轴为计数

概念上是这样的

ggplot(df, aes(x=c2.intervals, y=count.c2.occurrences, fill=c1)) + geom_bar()

其中c2.intervals 可能是0-70, 71-100, 100-150

例如对于区间0-70p1出现一次,p2出现3次,p3出现一次,p4出现两次。这些将是图中第一个堆叠列的计数。

解决这个问题的最佳方法是什么?

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    您可以使用cut() 来定义您的间隔。另外,根据您的描述,我假设您想要fill = c1 而不是fill = c2

    看看以下是否符合您的目的:

    library(dplyr)
    df %>%
      mutate(c2.intervals = cut(c2, breaks = c(0, 70, 100, 150))) %>%
      ggplot(aes(x = c2.intervals, fill = c1)) +
      geom_bar()
    

    【讨论】:

    • 感谢@Z.Lin,这正是我想要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 2015-10-14
    • 1970-01-01
    • 2019-10-10
    • 2018-12-10
    相关资源
    最近更新 更多