Próbuję wykreślić wektor data
w stylu przypominającym histogram. To zawsze jest łatwe, ponieważ plot(data, type="h")
robi dokładnie to, co chcę. Wystąpił jednak problem z kolorem. Moja wektor data
wygląda następująco:Wykres podobny do histogramu w różnych kolorach w R
data = c(1,2,2,3,1,1,2,3,1,2,2,3, ...)
Co chcę zobaczyć, jest to, że każdy 1
wykreślono w jednym kolorze, każdy 2
w innym kolorze, a każdy 3
podobnie. Starałem się osiągnąć z
plot(data, type="h", col=c("red","blue","green")
ale nie powiodło się z R zapętlenie nad wektora kolorów, tak że pierwszy bar był czerwony, drugi niebieski, zielony, trzeci czwarty czerwony ponownie i tak dalej.
Jestem bardzo interessted w ogólnym rozwiązaniem, ponieważ moi data
wektory nie zawsze składają się z numerów 1
, 2
i 3
. W wielu przypadkach wektor zawiera liczby od 1 do 6.
Czy ktoś wie, jak rozwiązać ten problem?
Jak mogę zastosować to do zakresu danych? Na przykład chciałbym mieć wszystko, co mieści się między -100 a 100 jako czerwone, a wszystko inne niebieskie? – user1007742
@ user1007742: Użyj 'cut', aby podzielić: tj.' Mydatacut = cut (x, c (-Inf, -100, 100, Inf)) '. Spowoduje to utworzenie współczynnika z trzema poziomami Następnie możesz zrobić "colors [as.numeric (mydatacut)]", gdzie czynnikiem jest, w twoim przykładzie, 'c (" niebieski "," czerwony "," niebieski ")' –