【问题标题】:Reorder sub-groups by group in a frequency barplot在频率条形图中按组重新排序子组
【发布时间】:2022-01-19 19:57:57
【问题描述】:

我有以下问题:

我的代码是这样的:

ggplot(data, aes(x = fct_infreq(sub-group), fill = group)) + geom_bar()

结果是这样的:

我想首先绘制红色组(按升序)和蓝色组之后(也按升序),所有这些都在同一个图中。

我该怎么做?

提前致谢!

【问题讨论】:

    标签: r ggplot2 bar-chart reorderlist


    【解决方案1】:

    以下只是按照您想要的顺序提供 y 轴的限制,而无需考虑因素。

    library(ggplot2)
    
    df <- data.frame(
      y = LETTERS[1:20],
      group = rep(c("A", "B"), 10),
      x = rnorm(20)
    )
    
    ggplot(df, aes(x, y, fill = group)) +
      geom_col() +
      scale_y_discrete(
        limits = df$y[rev(order(df$group, df$x))]
      )
    

    reprex package 创建于 2021-12-16 (v2.0.1)

    【讨论】:

    • 感谢您的回答!但我无法运行,因为我没有 Y 变量,我的 Y 是 data.frame 中 X 的频率
    • 所以,我很难处理这种缺乏 Y
    • 您可以将df$x 替换为fct_infreq(data$sub-group)
    猜你喜欢
    • 2018-07-04
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    相关资源
    最近更新 更多