2013-05-29 3 views
0

Я пытаюсь создать легенду для сюжета R с опцией радуги, но я столкнулся с некоторыми трудностями.Легенда с цветами радуги R

I участок

plot(test$a,test$b, col = rainbow(length(test$s))[rank(test$s)]) 

с цветом, назначенным в соответствии с тестовыми $ с. Проблема заключается в том, что тест $ s равно для многих значений теста кадра данных, так что если чем я пишу

legend('topright',legend=test.sub$s,col=rainbow(length(test.sub$s)) 
[rank(test.sub$s)]) 

я получаю в легенде всех дубликаты тест $ S, но цвета являются правильными. Поскольку я не хочу дубликатов, я написал

legend('topright',legend=unique(test.sub$s),col=rainbow(length(test.sub$s)) 
[rank(test.sub$s]) 

, но тогда все цвета перепутаны!

Заранее спасибо

ответ

0

Вы проблема заключается в том, что unique(test.sub$s) не такой же длины, как rainbow(length(test.sub$s))[rank(test.sub$s]. Мое решение было бы сделать:

col=rainbow(length(test.sub$s))[rank(test.sub$s)[!duplicated(test.sub$s)]] 
+0

Я поставил легенду ('topright', легенда = уникальный (test.sub $ ы), цв = радуга (длина (test.sub $ ы)) [Оценка (тест .s ub $ s)] [! duplicated (test.sub $ s)], pch = 1, cex = 0.8, ncol = 6) , но он дает мне всего 2 цвета – user2287387

Смежные вопросы