Mam wykres, który tworzę w ggplot2, aby podsumować dane, które pochodzą z 2 x 4 x 3 komórek. Byłem w stanie wykonać panele dla zmiennej 2-poziomowej za pomocą facet_grid(. ~ Age)
i ustawić za pomocą osi xiy aes(x=4leveledVariable, y=DV)
. Kiedyś aes(group=3leveledvariable, lty=3leveledvariable)
produkować fabułę tej pory. To daje mi wizualizację, która jest panelowana przez zmienną 2-poziomową, z osią X reprezentującą zmienną 4-poziomową i różnymi liniami wykreślonymi w panelach dla zmiennej 3-poziomowej. Ale klucz dla zmiennej trójpoziomowej jest zatytułowany nazwą zmiennej trójpoziomowej i chcę, aby był to tytuł z przestrzenią znaków. Jak mogę zmienić nazwę tytułu legendy?
Rzeczy, które próbowałem, które wydają się nie działać (gdzie abp
jest mój obiekt ggplot2):
abp <- abp + opts(legend.title="Town Name")
abp <- abp + scale_fill_continuous("Town Name")
abp <- abp + opts(group="Town Name")
abp <- abp + opts(legend.title="Town Name")
Przykładowe dane:
ex.data <- data.frame(DV=rnorm(2*4*3), V2=rep(1:2,each=4*3), V4=rep(1:4,each=3), V3=1:3)
źródło
theme_get()
zapewnia to samo odniesienie w konsoli.Odpowiedzi:
Inną opcją jest użycie
Na przykład przykład Chase'a mógłby wyglądać następująco:
i uzyskaj liczbę:
źródło
Możesz zmienić tytuł legendy, modyfikując skalę dla tej legendy. Oto przykład z wykorzystaniem zestawu danych CO2
EDYTOWAĆ:
Korzystając z przykładowych danych z góry, oto działające rozwiązanie. Myślę, że to naśladuje fabułę, którą @drknexus próbuje stworzyć. Na marginesie, jeśli ktokolwiek może wyjaśnić, dlaczego musimy traktować V3 jako czynnik mapowania go do legendy, doceniłbym to.
źródło
scale_colour_discrete()
a kod, z którym pracujesz, jest oczywiście nieco inny. Nie wiem, co to za kod ...scale_linetype_discrete
oczekuje zmiennej o dyskretnych wartościach (czynnik lub znak, odplyr::is.discrete
), sprawdź kod src na Github, j.mp/ejaRRT . Dobra odpowiedź (+1).