用R绘制不同的折线图

问题描述 投票:0回答:1

我有一个这样的数据集:

number <- c(0,1,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,9)
val <- c(19,20,9,17,2,2,3,9,19,4,15,14,18,8,5,13,9,15,3,16,1,15,13,10,7,7,9,15,14,12)
m <- data.frame(number, val)

我想在“数字”列之后绘制不同的线图,所以每次数字等于 0 时我想要一个特定的图。我的意思是:

  • 前 0 到 10 的第一个图
  • 第二个 0 到 8 的第二个图
  • 第三个 0 到 9 的第三个图

我该如何使用R?

r plot
1个回答
0
投票

使用

which
确定
0's
位置并创建绘图:

number <- c(0,1,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,9)
val <- c(19,20,9,17,2,2,3,9,19,4,15,14,18,8,5,13,9,15,3,16,1,15,13,10,7,7,9,15,14,12)
m <- data.frame(number, val)

w <- which(m$number == 0)
w <- c(w, length(m$number))

for (i in 1:(length(w)-1)) {
  st <- w[i]
  sp <- w[i+1]-1
  plot(m[st:sp, "number"], m[st:sp, "val"], t = "l", 
       xlab = paste("plot", i), 
       ylab = "values")  
}

创建于 2024-04-05,使用 reprex v2.1.0

© www.soinside.com 2019 - 2024. All rights reserved.