使用matplot()函数为多个图形上色,使它们呈现不同的颜色。

huangapple go评论82阅读模式
英文:

R Colorize several graphs in different colors in matplot()

问题

我有几张图表我想要着色。

示例代码:

X <- sapply(1:3, \(x) cumsum(rnorm(200)))

col <- sample(2:4, nrow(X), replace = TRUE) |> sort()

plot(X[,1], t="p", ylim = range(X), col = col, pch = 20)
lines(X[,2], t="p", col = col, pch = 20)
lines(X[,3], t="p", col = col, pch = 20)

如何使用matplot函数完成相同的操作?
我尝试了不同的选项,但从未成功。

matplot(X, t="p", lty=1, col = col, pch = 20)

matplot(X, t="p", lty=1, col = cbind(col, col, col), pch = 20)

使用matplot()函数为多个图形上色,使它们呈现不同的颜色。

英文:

I have several graphs that I want to colorize.

code for exapmle

X &lt;- sapply(1:3,\(x) cumsum(rnorm(200)))

col &lt;- sample(2:4,nrow(X),replace = T) |&gt; sort()

plot(X[,1],t=&quot;p&quot;,ylim = range(X),col=col,pch=20)
lines(X[,2],t=&quot;p&quot;,col=col,pch=20)
lines(X[,3],t=&quot;p&quot;,col=col,pch=20)

使用matplot()函数为多个图形上色,使它们呈现不同的颜色。

How can I do the same using the matplot function?
I tried different options but never succeeded.

matplot(X,t=&quot;p&quot;,lty=1,col=col,pch=20)

matplot(X,t=&quot;p&quot;,lty=1,col=cbind(col,col,col),pch=20)

答案1

得分: 2

这里不清楚为什么要在这里使用matplot。您完全可以在一行中使用plot轻松完成相同的操作:

plot(rep(seq(nrow(X)), ncol(X)), X, col = col, pch = 20, xlab = "")

如果出于某种原因您必须使用matplot,可以这样做:

lapply(1:4, function(x) {
  if(x == 1) matplot(X, type = 'n') else {
    X[!col %in% x,] <- NA
    matplot(X, col = x, add = TRUE, pch = 20)
  }
})

使用matplot()函数为多个图形上色,使它们呈现不同的颜色。

英文:

It's not clear why you want to use matplot here at all. You could easily do the same with plot in one line:

plot(rep(seq(nrow(X)), ncol(X)), X, col = col, pch = 20, xlab = &quot;&quot;)

使用matplot()函数为多个图形上色,使它们呈现不同的颜色。

If for some reason you have to use matplot, you could do:

lapply(1:4, function(x) {
  if(x == 1) matplot(X, type = &#39;n&#39;) else {
    X[!col %in% x,] &lt;- NA
    matplot(X, col = x, add = TRUE, pch = 20)
  }
})

使用matplot()函数为多个图形上色,使它们呈现不同的颜色。

huangapple
  • 本文由 发表于 2023年7月27日 23:46:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/76781447.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定