r - R中具有多个变量的条形图
问题描述
我正在研究 R 中的飞行数据集。我想在一个条形图中绘制以下数据。
flight_month early_arrival delayed_arrival ealry_departure
1 April -15.58233 42.73958 -5.058515
2 August -17.16566 39.51294 -4.676996
3 December -14.02251 39.72725 -4.533339
4 February -15.85862 33.68921 -4.912044
5 January -15.09903 34.47749 -4.906270
6 July -16.79175 53.95152 -4.562090
delay_departure
1 44.05532
2 37.22452
3 37.06027
4 35.17606
5 35.24179
6 48.54883
与此类似,但显示所有变量。
average<-read.csv('Average.csv')
ggplot(average,aes(x=flight_month,y=delayed_arrival))+
geom_bar(stat="identity")
这是我尝试过的,但这样我只能在 y 轴上看到 delay_arrival,我想在 y 轴上看到所有四个变量。以及 x 轴上的月份。
解决方案
library(ggplot2)
library(dplyr)
library(tibble)
library(tidyr)
这是一个示例图:
df %>% ggplot(aes(flight_month, group = 1)) +
geom_bar(aes(y = early_arrival), stat = "identity", fill = "blue")+
geom_bar(aes(y = delayed_arrival), stat = "identity", fill = "red")
或者你可以重塑你的数据:
df %>% tidyr::gather("metrics", "value", -flight_month) %>%
ggplot(aes(flight_month, value, group= metrics, fill = metrics)) +
geom_bar(stat = "identity", width=.5, position = "dodge")
以下是新数据的示例:
# A tibble: 24 x 3
flight_month metrics value
<chr> <chr> <dbl>
1 April early_arrival -15.6
2 August early_arrival -17.2
3 December early_arrival -14.0
4 February early_arrival -15.9
5 January early_arrival -15.1
6 July early_arrival -16.8
7 April delayed_arrival 42.7
8 August delayed_arrival 39.5
9 December delayed_arrival 39.7
10 February delayed_arrival 33.7
# ... with 14 more rows
数据:
df <- structure(list(flight_month = c("April", "August", "December",
"February", "January", "July"), early_arrival = c(-15.58233,
-17.16566, -14.02251, -15.85862, -15.09903, -16.79175), delayed_arrival = c(42.73958,
39.51294, 39.72725, 33.68921, 34.47749, 53.95152), early_departure = c(-5.058515,
-4.676996, -4.533339, -4.912044, -4.90627, -4.56209), delay_departure = c(44.05532,
37.22452, 37.06027, 35.17606, 35.24179, 48.54883)), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
推荐阅读
- java - 根据 JFrame 大小调整 JPanel 宽度
- javascript - 在节点js中查询Mysql
- ruby - 从嵌套哈希中获取值
- pandas - 删除任何值为 0 的行
- ionic-framework - 如何在生产 Android APK 中修复白屏
- php - Tablesorter 过滤时不清理空格,PHP 语法错误?
- css - Flex 导航栏无法居中
- python - 本地部署期间未找到 Docker 映像(“没有这样的映像”)
- jsonschema - 如何验证可以包含作为不同类型对象的项目的数组
- tizen - 如何将图标添加到按钮(Tizen Wearable)+ Tizen 中的 RelativeLayout 等效项