【问题标题】:How to create grouped barchart in R如何在 R 中创建分组条形图
【发布时间】:2018-10-30 15:14:02
【问题描述】:

我想在 R 中创建一个分组条形图。但是,我目前使用的代码是创建一个堆叠条形图。我想要一周中的每一天都有两个酒吧。一个条形显示第一行数据,另一个条形显示第二行数据。 有谁知道怎么做?

#  Sample CSV data
x <- read.csv(text="month, mon, tues, wed, thurs, fri, sat, sun
  9, 1, 3, 5, 7, 1, 2, 2
  9, 1, 6, 8, 1, 1, 2, 3")


library(ggplot2)
# x <- read.csv("checkinlobby.csv")
y <- data.matrix(x)
barplot(y)

【问题讨论】:

    标签: r csv bar-chart


    【解决方案1】:

    这是我的解决方案:

    1st)创建一个允许我们将其传递给填充参数的新列。

    2nd) 将数据从宽更改为长,以使 ggplot 更容易。

    3rd) 将 day 变量作为一个因素并重新排序

    4th) 使用 position = "dodge" 绘图

    library(tidyverse)
    
    #  Sample CSV data
    x <- read.csv(text="month, mon, tues, wed, thurs, fri, sat, sun
                  9, 1, 3, 5, 7, 1, 2, 2
                  9, 1, 6, 8, 1, 1, 2, 3")
    
    
    ##
    graph <- x %>% mutate(rows = 1:nrow(x)) %>%
      gather(day, measure, -month, -rows) %>%
      mutate(day = factor(day,
      levels = c("mon","tues","wed","thurs", "fri", "sat","sun"))) %>%
      ggplot(aes(x = day, y = measure, fill = as.character(rows))) +
      geom_col(position = "dodge")
    
    graph
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 2022-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多