r - 如何在 R 中创建分组条形图
问题描述
我想在 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)
解决方案
这是我的解决方案:
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
推荐阅读
- azure-ad-b2c - Azure 身份验证问题
- ruby-on-rails - 在葡萄 api 中添加了根,但未包含在响应中
- swift - Airplay 的问题:更改图标、检测丢失的连接和 AVRouteDetectorMultipleRoutesDetectedDidChange
- javascript - 调整大小时锐利的图像旋转
- artificial-intelligence - 具有高斯过程回归的空间插值
- sql - 如何在 Oracle SQL 中获取示例
- typescript - 如何在打字稿中访问来自 yargs 的显式参数?
- reactjs - 使用 Amplify 的 federatedSignIn 使用 Cognito 用户池登录 Facebook
- python - Python Pywallet 在 pyinstaller 生成的 .exe 中出现错误
- flutter - 在 Flutter 中从 Firestore 中检索标记(GoogleMaps)