如何在 ggplot2 中制作多条线图而不重新输入每条线图

how to make multiple line plots in ggplot2 without retyping each one

提问人:hypermiler3 提问时间:11/9/2023 更新时间:11/9/2023 访问量:29

问:

我有一个数据框,其中包含

蛋白 浓度 外径450型 复制
一个 1 0.5 1
一个 2 1.0 2
一个 3 1.5 3
B 1.5 1.5 1
B 2.5 3.5 2
B 3 1.5 3

以此类推,蛋白质C,D,E,F....

我想制作一个图,其中每个蛋白质及其在一个图中重复,而不必使用过滤器命令,然后在 R 中复制并粘贴 ggplot 命令

有没有办法做到这一点?喜欢循环什么的?

所以就像蛋白质 A 代表 1、2、3 在一个图中一样;蛋白质 B rep 1,2,3 在另一张图中......依此类推 然后把它变成一个网格,以便更容易可视化?

谢谢!

chatgpt 和蹩脚的过滤器命令以及大量的复制和粘贴。所以代码超级混乱

R 数据帧 循环 ggplot2

评论

0赞 RKeithL 11/9/2023
你心目中的剧情是怎样的?或者您的意思是希望每种蛋白质和相应的重复都有一个单独的数据框?
0赞 hypermiler3 11/9/2023
是的,每种蛋白质和相应的重复的单独折线图

答:

0赞 TarJae 11/9/2023 #1

将数据带入长格式并使用:pivot_longerfacet_wrap

library(ggplot2)
library(tidyr)
library(dplyr)

df %>% 
  pivot_longer(c(OD450, Concentration)) %>% 
  ggplot(aes(x = factor(Replicate), y = value, group = name, color = name))+
  geom_line() +
  geom_point() +
  scale_color_manual(values = c("red", "blue"))+
  facet_wrap(. ~ Protein)+
  theme_minimal()

enter image description here