我对 R 相当陌生,有以下疑问:
我正在尝试在 R 中生成一个具有多行(数据系列)的图。每条线都是一个类别,我希望它具有独特的颜色。
目前我的代码是这样设置的:
首先,我创建一个空图:
plot(1,type='n',xlim=c(1,10),ylim=c(0,max_y),xlab='ID', ylab='Frequency')
然后,对于每个类别,我使用“for”循环在这个空图中绘制线条,如下所示:
for (category in categories){
lines(data.frame.for.this.category, type='o', col=sample(rainbow(10)), lwd=2)
}
这里有 8 个类别,因此图中产生了 8 条线。如您所见,我尝试从 Rainbows() 函数中采样颜色,为每条线生成颜色。
但是,当生成图时,我发现有多条线具有相同的颜色。例如,这 8 条线中有 3 条是绿色的。
如何使这 8 条线中的每条线都有独特的颜色?
还有,如何在剧情传说中体现这种独特性?我试图查找 legend()
函数,但是不清楚应该使用哪个参数来反射(reflect)每个类别的这种独特颜色?
任何帮助或建议将不胜感激。
最佳答案
如果您的数据位于 wide format matplot
是为此而设计的,但经常被遗忘:
dat <- matrix(runif(40,1,20),ncol=4) # make data
matplot(dat, type = c("b"),pch=1,col = 1:4) #plot
legend("topleft", legend = 1:4, col=1:4, pch=1) # optional legend
对于那些不熟悉诸如 ggplot
之类的人来说,还有额外的好处大多数绘图参数如 pch
等与使用 matplot()
相同如plot()
。
关于r - 在 R 中绘制多条线(数据系列),每条线具有唯一的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14860078/