我正在用几条线/系列制作一个线图。我希望一行/系列中的每个点都有不同的字符。
我目前拥有的代码类似于:
x <- rep(1:5, 4) * rep(rnorm(5), each = 4)
x <- matrix(x, 5, 4)
matplot(x, type = "b", pch = 1:4)
但是,“pch”仅允许您更改用于一个系列中所有点的字符。有没有办法单独控制每个点?
非常感谢!
plot
允许pch
系列中的每个点不同;matplot
没有(它只允许每个系列使用不同的)。所以你将不得不使用plot
//而不是points
.lines
matplot
例如
xs <- 1:nrow(x)
cols <- c('blue', 'red', 'black', 'green', 'yellow')
# set up empty plot with the right limits
matplot(x, type='n')
for (i in 1:ncol(x))
lines(xs, x[, i], type='b', pch=(i - 1)*(1:nrow(x))+1, col=cols[i])
如果您尝试一个简单的示例:plot(x=c(1,2,3,4),y=c(5,5,5,5),type="b",pch=c(1,2,3,4))
你会看到每个点都有不同的 pch。因此,如果您希望每个点和每条线都有不同的 pch,请尝试制作一个矩阵,其中线将代表每条线的 pch。
在@mathematical.coffee 回答之后,我阅读了 ?matplot。不幸的是,你不能为每个点设置不同的 pch,但对于 matplot 中的每个图,你不能有不同的 pch。