2011-06-29 14 views
17

Generuję figurę, która będzie używana jako kolumna etykiet po prawej stronie figury z trzema panelami, i chciałbym, aby tytuł figury był wyrównany do prawej, podobnie jak etykiety na samej figurze.Czy można wyrównać tytuł ggplot w prawo?

to minimalny przykład, w którym chciałbym wyrównać tytuły "słowa".

ggplot() + 
    geom_text(aes(y = 1, x = seq(4), 
       label = c('fee', 'fi', 'fo', 'fum'), 
       hjust = 1)) +  
    opts(title = 'words') + 
    coord_flip() + 
    scale_y_continuous(breaks = c(0,0), limits = c(0,1)) 

która produkuje to:

enter image description here

aktualizacja

Odpowiedź przez @joran jest pomocny, ale nie wyrównać rozmowę z etykiet. zmiana jego kodu z hjust=1 na hjust = 0.96 zbliża się, ale jest to bardziej hack niż satysfakcjonująca odpowiedź.

Odpowiedz

20

Można to zrobić z następujących powodów:

Bardziej ogólnie, here jest dość pełna lista rzeczy, które mogą być zmieniane poprzez opts i można zobaczyć niektóre przykładowy kod uruchomiony przez niektóre z tych opcji na Strona Hadleya here, w szczególności sekcja "polerowanie". Jeszcze lepiej byłoby kupić jego książkę.

Uwaga: Od wersji 0.9.2 opts została zastąpiona przez theme:

theme(plot.title = element_text(hjust = 1)) 
+0

+1 bardzo ... – Andrie

+0

@joran dzięki za odpowiedź i za wskazanie tych zasobów; po znalezieniu kodu 'opts (title = ..." nie spodziewałem się, że ', plot.title = ...)' będzie oddzielnym argumentem. –

+0

@joran po zabawie z tym, uważam, że tytuł nie jest wyrównany z tekstem etykiety za pomocą 'hjust = 1' (patrz aktualizacja do O.P.). Czy istnieje sposób na wyrównanie etykiet i tytułu? –

Powiązane problemy