微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 R 中绘制列表列表

如何解决在 R 中绘制列表列表

我有包含在列表列表中的数据。例如

> head(balance)
[[1]]
 [1]  99 101 102 103 102 100 104 103 101  97 105 104 106 107 106 104 100  92  76  44

[[2]]
 [1]  99 101 100 102 103 104 103 101  97  89 105 106 107 106 108 109 108 106 102  94  78
[22] 110

[[3]]
 [1]  99  97 101 102 103 102 104 105 106 107 108 109 108 106 110

[[4]]
 [1] 101 102 101 103 104 105 106 107 108 107 105 109 110

[[5]]
 [1]  99 101 100 102 101  99 103 104 105 104 106 107 106 104 108 109 110

...

我希望这些 balance 值构成我的图表的 y 轴,并且它们的索引构成它们的 x 值。我希望每个子列表都是图表上的一条线。

使用函数调用

plot(unlist(betIndex),unlist(balance),type = 'l')

我能够获得以下图。看起来线条在子列表之间连接,这不是我想要的。我希望每个子列表都是它自己的行。我该怎么办?

作为参考,betIndex 只是值的索引。我是为了绘图目的而制作的。

enter image description here

解决方法

使用您提供的数据,您可以制作一个具有足够范围的空白图以包含所有线,然后使用 lines 绘制每条线。我给每条线涂上不同的颜色以保持它们分开。

xmax = max(unlist(lapply(balance,length)))
ymin = min(unlist(balance))
ymax = max(unlist(balance))

plot(NULL,xlim=c(0,xmax),ylim=c(ymin,ymax),ylab="")
for(i in seq_along(balance)) {
    lines(balance[[i]],col=i) }

Multiple lines from a list of lists

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。