首页 > 解决方案 > 使用 facet_wrap 在每个构面中放置 2 行或更多行

问题描述

我有这个简化df,我使用 facet_wrap() 来绘制多个变量:


Day <- (1:30)

Type <-  rep(c("A", "B","C"),10)

Value_1 <- runif(30, min=-1, max=2)
Value_2 <- runif(30, min=-1, max=2)

df <- tibble:: tibble(Day, Type, Value_1, Value_2)


 ggplot2:: ggplot(df, aes(x=Day, y=Value_1, color= Type))+
  geom_line()+
   facet_wrap(~Type)

我的问题是:我如何在同一个“方面”中绘制 Value_1 和 Value_2?. 即,我的情节将与上面完全相同,但每个矩形中有两条线(一条用于 Value_A,另一条用于 Value_B)。

如果有人可以提供帮助,我将不胜感激!

标签: rggplot2facet-wrap

解决方案


试试这个重塑数据长:

library(ggplot2)
library(tidyverse)
#Code
df %>% pivot_longer(-c(Day,Type)) %>%
  ggplot(aes(x=Day, y=value, color= name,group=name))+
  geom_line()+
  facet_wrap(~Type)

输出:

在此处输入图像描述


推荐阅读