使用 R 中的 facet_wrap 或 facet_grid 在左侧面板的一个图形上绘制两条线,并在右侧面板上绘制它们的差异

吉西卡

我有以下数据框:

df1 <- data.frame(a= c(1:10), x= c(0.1, 0.5, 0.2, 0.1, 0, 0.23, 0.25, 0.4, 0.01, 0.2),
             y= c(0.3,0.01, 0.8, 0.2, 0.02, 0.14, 0.47, 0.35, 0, 0.32), name="L1")
df2 <- data.frame(a= c(1:10), x= c(0.2, 0.25, 0.2, 0.1, 0, 0.23, 0.25, 0.4, 0.01, 0.2),
                 y= c(0.76,0.81, 0.18, 0.52, 0.02, 0.14, 0.47, 0.35, 0, 0.32), name="L2")

我想使用facet_wrapfacet_grid获得以下情节:在此处输入图像描述

在左侧面板上,我想在一个图表上绘制变量 x 和 y,在右侧面板上,我想使用两种方法 L1 和 L2 绘制 x 和 y 之间的差异。

我尝试了以下代码:

library(ggplot2)
library(reshape)

df3 <- melt(df1, id = c("a", "name"))
df4 <- melt(df2, id = c("a", "name"))

df5 <- rbind(df3, df4)
ggplot()+geom_line(data = df5, aes(x=a, y=value, color= variable))+
 facet_grid(name ~ variable)+
  geom_line(data = df1, aes(x=a, y=y))+
  geom_line(data = df2, aes(x=a, y=y))

ggplot()+
  geom_line(data = df1, aes(x=a, y= x-y), color= "green")

ggplot()+
  geom_line(data = df2, aes(x=a, y= x-y), color= "green")

我无法完成我的任务。任何帮助将不胜感激。

本森23

为了更容易处理,我会x - ymelt. 然后我们需要groupfacet_grid. factor操作设置刻面的位置,因此x and y它将位于 的左侧x - y最后,用 设置颜色scale_color_manual

library(ggplot2)
library(dplyr)
library(reshape2)

df1 <- data.frame(a= c(1:10), x= c(0.1, 0.5, 0.2, 0.1, 0, 0.23, 0.25, 0.4, 0.01, 0.2),
                  y= c(0.3,0.01, 0.8, 0.2, 0.02, 0.14, 0.47, 0.35, 0, 0.32), name="L1")
df2 <- data.frame(a= c(1:10), x= c(0.2, 0.25, 0.2, 0.1, 0, 0.23, 0.25, 0.4, 0.01, 0.2),
                  y= c(0.76,0.81, 0.18, 0.52, 0.02, 0.14, 0.47, 0.35, 0, 0.32), name="L2")

rbind(df1, df2) %>% 
  mutate(`x - y` = x - y) %>% 
  melt(id = c("a", "name")) %>% 
  mutate(group = if_else(variable %in% c("x", "y"), "x and y", "x - y"),
         group = factor(group, levels = c("x and y", "x - y"))) %>% 
  ggplot(aes(a, value, col = variable)) + 
  geom_line() + 
  facet_grid(name ~ group) +
  scale_color_manual(values = c("x" = "red", "y" = "black", "x - y" = "green"))

reprex 包于 2022-05-01 创建(v2.0.1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章