【问题标题】:geom_bar() with sorted values具有排序值的 geom_bar()
【发布时间】:2021-12-02 06:24:12
【问题描述】:

我有以下数据。

df <- data.frame(name1 = c("Chi", "Ron", "Gen", "Ral", "Cha", "Det", "Har", "Was"),
                 value1 = c(641, 548, 459, 367, 366, 324, 317, 309))

我想创建一个条形图来可视化这些数据。 条形应按值的递增或递减顺序排列,每个值具有不同的颜色。 图例应显示哪种颜色属于哪个名称。 我如何使用geom_bar() 函数来做到这一点。

【问题讨论】:

    标签: r plot geom-bar


    【解决方案1】:

    这是个好问题!但是你应该通过这个How to make a great R reproducible example如何从技术上问一个关于stackoverflow的问题:

    我们可以使用

    1. geom_col 而不是 geom_bar
    2. reorder + 升序 - 降序:
    library(tidyverse)
    ggplot(df, aes(x=reorder(name1, +value1), value1))+
      geom_col()
    

    【讨论】:

      【解决方案2】:

      通过基于value1 排序name1name1 转换为因子并设置水平

      df$name1 = factor(df$name1, df$name1[order(df$value1)])
      ggplot(df[order(df$value1),], aes(x = name1, y=value1, fill = name1)) +
          geom_bar(stat = "identity")
      

      【讨论】:

        猜你喜欢
        • 2020-09-07
        • 2021-10-02
        • 2018-06-23
        • 1970-01-01
        • 1970-01-01
        • 2014-09-24
        相关资源
        最近更新 更多