2011-09-10 15 views
13

Jak zmienić tekst wyświetlany na pasach wykresów krat? przykład: załóżmy, że posiada test ramki danych, składający się z 3 kolumnamiZmieniaj tekst na paskach na działkach kratowych

x 
[1] 1 2 3 4 5 6 7 8 9 10 

y 
[1] "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" 

a 
[1] -1.9952066 -1.7292978 -0.8789127 -0.1322849 -0.1046782 0.4872866 
[7] 0.5199228 0.5626998 0.6392686 1.6604549 

zwykłego połączenia z wykresem kratowego

xyplot(a~x | y,data=test) 

daje wykres z tekstem 'A' i 'B' na pasach

Jak mogę napisać różne paski na taśmach?

attept z innej postaci wektorowej

z 
[1] "a" "a" "a" "a" "a" "b" "b" "b" "b" "b" 

i wezwaniem do strip.custom()

xyplot(a~x | y,data=test,strip=strip.custom(var.name=z)) 

nie daje pożądanego rezultatu.

W rzeczywistości jest to problem internacjonalizacji.

Odpowiedz

8

Jeśli się twoja postać wektora czynnikiem następnie można po prostu zmienić poziomy:

> xyplot(a~x | y,data=test)  # your plot 
> test$y=as.factor(test$y)  # convert y to factor 
> xyplot(a~x | y,data=test)  # should be identical 
> levels(test$y)=c("Argh","Boo") # change the level labels 
> xyplot(a~x | y,data=test)  # new panel labels! 
14

myślę, co chcesz może zostać pobrane poprzez:

z <-c("a" , "b") # Same number of values as there are panels 
xyplot(a~x | y,data=test,strip=strip.custom(factor.levels=z)) 
+1

Nie potrzebne " z 'variable: factor.levels = c ("a", "b") zrobi to. – Spacedman

+1

Próbowałem tylko podkreślić, że potrzebna jest ta sama liczba poziomów co panele, a nie liczba punktów danych –

Powiązane problemy