r - 在 R 中绘制多条线(数据系列),每条线具有唯一的颜色

标签 r colors plot unique lines

我对 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()enter image description here

关于r - 在 R 中绘制多条线(数据系列),每条线具有唯一的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14860078/

相关文章:

matlab - 在 Matlab 中绘图

r - 将字符串的第一次出现复制到数据框的列中

R 在 colname 中使用 get()

python - numpy2ri 与 rpy2 2.2.2 的转换问题

vector - gnuplot 矢量箭头长度和流线

python - Matplotlib:在线边缘上绘制标记

r - 带有 revealjs r markdown 演示文稿的 ggplotly 工具提示

html - 在客户结帐时更改颜色并禁用温度的按钮

iphone - 更改 UITabBarController 更多项目颜色

algorithm - 什么是获得颜色以使图像上的文本突出的好算法?