如何使用两个数据框制作分组和堆叠的线图?
How to make grouped and stacked line plots using two dataframes?
我有两组数据,一组是男性的,一组是女性的。他们都有4个变量,分别是:Year, DK, SE NO。所以它们看起来都是这样的(当然只是值不同):
我想为男性和女性制作线图,堆叠并分组到国家、DK SE 和 NO。所以它可以堆叠的情节,像这样:
您还没有告诉我们您的数据框叫什么,但我们称它们为 men
和 women
。只要它们都有 完全 相同的列(包括名称),您就可以:
library(tidyverse)
men %>%
mutate(Sex = "Men") %>%
bind_rows(women %>% mutate(Sex = "Women")) %>%
pivot_longer(c("DK", "SE", "NO")) %>%
ggplot(aes(Year, value, colour = name)) +
geom_line() +
facet_grid(Sex~.) +
theme_light()
由 reprex package (v2.0.1)
于 2022-04-22 创建
与问题数据结构相同的数据
set.seed(1)
men <- data.frame(Year = 1995:2022,
DK = 35 + cumsum(rnorm(28)),
SE = 40 + cumsum(rnorm(28)),
NO = 38 + cumsum(rnorm(28)))
women <- data.frame(Year = 1995:2022,
DK = 35 + cumsum(rnorm(28)),
SE = 40 + cumsum(rnorm(28)),
NO = 38 + cumsum(rnorm(28)))
我有两组数据,一组是男性的,一组是女性的。他们都有4个变量,分别是:Year, DK, SE NO。所以它们看起来都是这样的(当然只是值不同):
我想为男性和女性制作线图,堆叠并分组到国家、DK SE 和 NO。所以它可以堆叠的情节,像这样:
您还没有告诉我们您的数据框叫什么,但我们称它们为 men
和 women
。只要它们都有 完全 相同的列(包括名称),您就可以:
library(tidyverse)
men %>%
mutate(Sex = "Men") %>%
bind_rows(women %>% mutate(Sex = "Women")) %>%
pivot_longer(c("DK", "SE", "NO")) %>%
ggplot(aes(Year, value, colour = name)) +
geom_line() +
facet_grid(Sex~.) +
theme_light()
由 reprex package (v2.0.1)
于 2022-04-22 创建与问题数据结构相同的数据
set.seed(1)
men <- data.frame(Year = 1995:2022,
DK = 35 + cumsum(rnorm(28)),
SE = 40 + cumsum(rnorm(28)),
NO = 38 + cumsum(rnorm(28)))
women <- data.frame(Year = 1995:2022,
DK = 35 + cumsum(rnorm(28)),
SE = 40 + cumsum(rnorm(28)),
NO = 38 + cumsum(rnorm(28)))