gpt4 book ai didi

r - 使用平滑/抖动创建 "spaghetti"纵向图

转载 作者:行者123 更新时间:2023-12-05 04:15:04 27 4
gpt4 key购买 nike

我正在尝试根据随时间推移由数值组成的数据创建意大利面条图。这是一个大数据,所以不能在这里粘贴,但是在尝试时

matplot(x,y,type="l",lty=1,col="#00000020")

这是我得到的情节 enter image description here

理想情况下,我希望它看起来像这样 enter image description here

我怎样才能“平滑”线条并减少它们的重叠,就像下面的情节一样?如果可能的话,不使用 ggplot2。

最佳答案

只需以多种方式平滑数据,some examples

nr <- 200
mm <- t(matrix(sample(0:4, nr * 15, replace = TRUE), nr))
set.seed(1)
mm[sample(length(mm), nr * 15 / 20)] <- NA
x <- 1:15

par(mfrow = c(1,2))
matplot(mm, type = 'l', lty = 1, xlim = c(0,15), ylim = c(-5,10),
col = adjustcolor('black', alpha.f = .1))
plot('mm', xlim = c(0,15), ylim = c(-5,10), panel.last = grid(), bty = 'l')
for (ii in 1:ncol(mm)) {
dd <- data.frame(y = mm[, ii], x = x)
lo <- loess(y ~ x, data = dd, na.action = 'na.omit')
# lo <- loess(mm[, ii] ~ x)
xl <- seq(min(x), max(x), (max(x) - min(x)) / 1000)
lines(xl, predict(lo, xl), col = adjustcolor('black', alpha.f = .1))
}

enter image description here

关于r - 使用平滑/抖动创建 "spaghetti"纵向图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33465492/

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