用于分组数据的 facet ggplot 和 R 中带有日期的两个变量
facet ggplot for grouped data and two variables with date in R
我想在 R 中为我的型号组绘制一个分面图,以便每个图表显示 12 个月的数据以及每个 Val1 和 Val2 的两条不同颜色的线。
Model No. Date Val1 Val2
a 01/10/2020 2.39 4.67
a 01/11/2020 5.15 6.05
a 01/12/2020 3.19 1.62
a 01/01/2021 8.76 11.65
a 01/02/2021 15.72 11.41
a 01/03/2021 10.92 11.91
a 01/04/2021 11.96 19.27
a 01/05/2021 11.52 15.58
a 01/06/2021 2.92 4.42
a 01/07/2021 4.89 6.01
a 01/08/2021 10.05 15.19
a 01/09/2021 3.46 4.85
b 01/10/2020 3.76 3.41
b 01/11/2020 0.88 1.25
b 01/12/2020 0.93 0.78
b 01/01/2021 1.87 1.88
b 01/02/2021 1.40 1.28
b 01/03/2021 1.58 1.29
b 01/04/2021 4.50 2.93
b 01/05/2021 5.31 5.45
b 01/06/2021 9.19 6.69
b 01/07/2021 4.09 3.11
b 01/08/2021 5.20 3.86
b 01/09/2021 4.39 3.76
我已经从 excel 添加了所需的输出,有点像这样。彼此相邻的折线图或条形图显示每组中的两个值(Val1 和 Val2)比较。
如有人能提供帮助,将不胜感激。提前致谢。
试试这个方法。重塑数据以长期保持模型然后日期。然后使用 facet_wrap()
绘制绘图。这里的代码:
library(ggplot2)
library(dplyr)
library(tidyr)
#Code
df %>% pivot_longer(-c(1,2)) %>%
ggplot(aes(x=Date,y=value,color=name,group=name))+
geom_line()+
scale_x_date(breaks = '1 month')+
facet_wrap(.~`Model No.`,scales = 'free',ncol = 1)+
theme_bw()+
theme(legend.position = 'bottom',
axis.text.x = element_text(angle=90))+
labs(color='Serie')
输出:
我想在 R 中为我的型号组绘制一个分面图,以便每个图表显示 12 个月的数据以及每个 Val1 和 Val2 的两条不同颜色的线。
Model No. Date Val1 Val2
a 01/10/2020 2.39 4.67
a 01/11/2020 5.15 6.05
a 01/12/2020 3.19 1.62
a 01/01/2021 8.76 11.65
a 01/02/2021 15.72 11.41
a 01/03/2021 10.92 11.91
a 01/04/2021 11.96 19.27
a 01/05/2021 11.52 15.58
a 01/06/2021 2.92 4.42
a 01/07/2021 4.89 6.01
a 01/08/2021 10.05 15.19
a 01/09/2021 3.46 4.85
b 01/10/2020 3.76 3.41
b 01/11/2020 0.88 1.25
b 01/12/2020 0.93 0.78
b 01/01/2021 1.87 1.88
b 01/02/2021 1.40 1.28
b 01/03/2021 1.58 1.29
b 01/04/2021 4.50 2.93
b 01/05/2021 5.31 5.45
b 01/06/2021 9.19 6.69
b 01/07/2021 4.09 3.11
b 01/08/2021 5.20 3.86
b 01/09/2021 4.39 3.76
我已经从 excel 添加了所需的输出,有点像这样。彼此相邻的折线图或条形图显示每组中的两个值(Val1 和 Val2)比较。
如有人能提供帮助,将不胜感激。提前致谢。
试试这个方法。重塑数据以长期保持模型然后日期。然后使用 facet_wrap()
绘制绘图。这里的代码:
library(ggplot2)
library(dplyr)
library(tidyr)
#Code
df %>% pivot_longer(-c(1,2)) %>%
ggplot(aes(x=Date,y=value,color=name,group=name))+
geom_line()+
scale_x_date(breaks = '1 month')+
facet_wrap(.~`Model No.`,scales = 'free',ncol = 1)+
theme_bw()+
theme(legend.position = 'bottom',
axis.text.x = element_text(angle=90))+
labs(color='Serie')
输出: