按颜色排列的观察条形图
Barplot of observations by color
我有一个包含 50965 行和 4 列的数据框,如下所示:
hap1_a hap2_a hap1_b hap2_b
EUR EUR EUR EUR
EUR EUR AFR EUR
EUR EUR AFR EUR
AFR EUR AFR NAM
AFR EUR NAM NAM
NAM EUR NAM NAM
每个观察值可以是 AFR、EUR 或 NAM。
我想要的是绘制一个堆叠条形图 (Barchart) 并根据 EUR 的蓝色、AFR 的红色和 NAM 的绿色为观察结果着色,这样我就可以通过颜色进行直接比较。
library(tidyverse, warn.conflicts = F)
df <- read.table(header = T, text = 'hap1_a hap2_a hap1_b hap2_b
EUR EUR EUR EUR
EUR EUR AFR EUR
EUR EUR AFR EUR
AFR EUR AFR NAM
AFR EUR NAM NAM
NAM EUR NAM NAM')
df %>%
pivot_longer(everything()) %>%
ggplot(aes(x = name, y = ..count.., fill = value)) +
geom_bar()
对于评论中所述的要求
library(tidyverse, warn.conflicts = F)
df <- read.table(header = T, text = 'hap1_a hap2_a hap1_b hap2_b
EUR EUR EUR EUR
EUR EUR AFR EUR
EUR EUR AFR EUR
AFR EUR AFR NAM
AFR EUR NAM NAM
NAM EUR NAM NAM')
df %>%
pivot_longer(everything()) %>%
arrange(name) %>%
mutate(value = as.factor(match(value, unique(value)))) %>%
ggplot(aes(x = name, y = ..count.., fill = value)) +
geom_bar() +
scale_fill_manual(values = c('blue', 'red', 'green'), labels = c('EUR', 'AFR', 'NAM'))
由 reprex package (v2.0.0)
于 2021-07-05 创建
我有一个包含 50965 行和 4 列的数据框,如下所示:
hap1_a hap2_a hap1_b hap2_b
EUR EUR EUR EUR
EUR EUR AFR EUR
EUR EUR AFR EUR
AFR EUR AFR NAM
AFR EUR NAM NAM
NAM EUR NAM NAM
每个观察值可以是 AFR、EUR 或 NAM。 我想要的是绘制一个堆叠条形图 (Barchart) 并根据 EUR 的蓝色、AFR 的红色和 NAM 的绿色为观察结果着色,这样我就可以通过颜色进行直接比较。
library(tidyverse, warn.conflicts = F)
df <- read.table(header = T, text = 'hap1_a hap2_a hap1_b hap2_b
EUR EUR EUR EUR
EUR EUR AFR EUR
EUR EUR AFR EUR
AFR EUR AFR NAM
AFR EUR NAM NAM
NAM EUR NAM NAM')
df %>%
pivot_longer(everything()) %>%
ggplot(aes(x = name, y = ..count.., fill = value)) +
geom_bar()
对于评论中所述的要求
library(tidyverse, warn.conflicts = F)
df <- read.table(header = T, text = 'hap1_a hap2_a hap1_b hap2_b
EUR EUR EUR EUR
EUR EUR AFR EUR
EUR EUR AFR EUR
AFR EUR AFR NAM
AFR EUR NAM NAM
NAM EUR NAM NAM')
df %>%
pivot_longer(everything()) %>%
arrange(name) %>%
mutate(value = as.factor(match(value, unique(value)))) %>%
ggplot(aes(x = name, y = ..count.., fill = value)) +
geom_bar() +
scale_fill_manual(values = c('blue', 'red', 'green'), labels = c('EUR', 'AFR', 'NAM'))
由 reprex package (v2.0.0)
于 2021-07-05 创建