匹配颜色与类别r

时间:2015-03-20 18:49:36

标签: r graph colors

更新:我添加了可重现的代码。


亲爱的, 我想匹配颜色和类别。我有7个带有数据的电子表格。每个电子表格都是几个国家特定物种种群数量的数据。我想在每个国家/地区绘制每个国家/地区的人口数量与时间,每个国家/地区的颜色不同(见下文)。问题是,每个物种的国家列表各不相同,所以我不能只做一个循环:如果是野猪,波兰将是第一种颜色,但如果是红鹿,它将是第三种颜色一。一个例子:

year    lv      lt      pl      uk      es
1974    21578   9250    2700    17610   8900
1975    19955   8800    3300    14280   9300

我创建了一个电子表格来匹配颜色和国家/地区名称:

code    col.num
cz  1
hu  2
pl  3
sl  4
lv  5
lt  6
es  7
ro  8
uk  9

这是一个匹配颜色和国家/地区名称的代码(它创建了3个图表,第一个是相对于1990年数字的数字%):

    par(mar=c(5.1, 3.5, 4.5, 2), mfrow = c(3,3))
col.num <- 1:9
code <- c('cz', 'hu', 'pl', 'sl', 'lv', 'lt', 'es', 'ro', 'uk')
cntr.num <- array(0,c(9,2))
cntr.num[,1] <- col.num; cntr.num[,2] <- code
cntr.num <- as.data.frame(cntr.num)

year <- 1975:2010
# an example for wild boar
cz <- sample(5000:30000, 36); pl <- sample(5000:30000, 36); hu <- sample(5000:30000, 36); sl <- sample(5000:30000, 36)
lv <- sample(5000:30000, 36); lt <- sample(5000:30000, 36); es <- sample(5000:30000, 36); ro <- sample(5000:30000, 36)
wb <- cbind(year, cz,pl, hu, sl, lv, lt, es, ro)
wb <-as.data.frame(wb)
colnames(wb) <- c('year', 'cz', 'pl', 'hu', 'sl', 'lv', 'lt', 'es', 'ro')

plot(wb[,1], (wb[,2]/wb[,2][wb[,1] == 1990])*100, type = "l", ylim=c(0,310), col=1)
for (i in 3:(dim(wb)[2])) { lines(wb[,1], (wb[,i]/wb[,i][wb[,1] == 1990])*100, col = cntr.num[,1][cntr.num[,2]==colnames(wb)[i]]) }
plot(wb[,1], wb[,2], type = "o", main = "WILD BOAR", col=1, ylim=c(0,250000))
for (i in 3:5) { lines(wb[,1], wb[,i], col = cntr.num[,1][cntr.num[,2]==colnames(wb)[i]]) }

plot(wb[,1], wb[,6], type = "o", col=6, , ylim=c(0,70000))
for (i in 7:(dim(wb)[2])) {lines(wb[,1], wb[,i], col = cntr.num[,1][cntr.num[,2]==colnames(wb)[i]]) }

它运行,并给我一个图表,但颜色不匹配。看起来R只是让他们起来。 有人可以用颜色帮我吗?谢谢!我发现了一些类似的问题但不完全是我需要的问题。

0 个答案:

没有答案