gpt4 book ai didi

r - 从数据框列表中的 ggplot 中绘制线条

转载 作者:行者123 更新时间:2023-12-03 18:25:33 24 4
gpt4 key购买 nike

我有一个 data.frames 列表:

samplelist = list(a = data.frame(x = c(1:10), y=rnorm(10),
b= data.frame(x=c(5:10), y = rnorm(5),
c = data.frame(x=c(2:12), y=rnorm(10))

我想构造一个 ggplot以下格式:
ggplot()+ 
geom_line(data=samplelist[[1]], aes(x,y))+
geom_line(data=samplelist[[2]], aes(x,y))+
geom_line(data=samplelist[[3]], aes(x,y))

但这并不是 super 自动化。有人对如何解决这个问题有建议吗?

谢谢!

最佳答案

ggplot最有效地处理“长”格式的数据。在这种情况下,这意味着将三个数据框堆叠成一个数据框,并添加一个额外的列来标识源数据框。在这种格式下,您只需调用一次 geom_line ,而标识源数据框的新列可用作颜色美学,从而为每个源数据框生成不同的行。 dplyr功能 bind_rows允许您在对 ggplot 的调用中即时堆叠数据帧.

library(dplyr)
library(ggplot2)

samplelist = list(a = data.frame(x=c(1:10), y=rnorm(10)),
b = data.frame(x=c(5:10), y=rnorm(6)),
c = data.frame(x=c(2:12), y=rnorm(11)))

ggplot(bind_rows(samplelist, .id="df"), aes(x, y, colour=df)) +
geom_line()

enter image description here

我在上面假设您希望每条线都具有不同的颜色,并且有一个显示颜色映射的图例。但是,如果出于某种原因,您只需要三条黑线而没有图例,则只需更改 colour=dfgroup=df .

关于r - 从数据框列表中的 ggplot 中绘制线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42229750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com