2012-11-06 9 views
9

Naprawdę podobał mi się pakiet directlabels dynamicznego pozycjonowania lablesa działki. Chociaż nadal nie jest doskonały, pomaga rozsądnie zapobiec nakładaniu się etykiet między działkami rozproszonymi, na przykład wieloma punktami - specjalnie dla wersji roboczej wykresów, a nie końcowej.Rozmiar etykiety w directlabels geom_dl()

Jednak i tak nie mogę znaleźć zmiany rozmiaru etykiety podczas korzystania z funkcji geom_dl(). Czy jest jakiś sposób?

Próbowałem przekazać size i cex jako normalny lub aes() argument funkcji.

+0

powtarzalny przykład, proszę. – metasequoia

Odpowiedz

9

Umieść cex na liście. Inne funkcje formatowania również powinny zostać umieszczone na liście. Zobacz niektóre z przykładów w ?directlabels::geom_dl

library(ggplot2) 
library(directlabels) 

dat = data.frame(x = 1:10, y = 1:10, z = letters[1:10]) 

ggplot(dat, aes(x, y)) + 
    geom_point() + 
    geom_dl(aes(label = z), method = list(cex = 2, rot = -45, hjust = -.5)) 

enter image description here

EDIT

Sposób zbyt jest umieszczony na liście:

ggplot(dat, aes(x, y)) + 
    geom_point() + 
    geom_dl(aes(label = z), method = list("smart.grid", cex = 2)) 
+1

Dzięki, gdy próbuję dodać geom_dl (aes (label = z), method = "smart.grid", list (cex = 1, spróchnia = -45, hjust = -.5)), To mówi: Błąd: ggplot2 nie wie, jak radzić sobie z danymi z listy klas. Czy mógłbyś to rozwiązać? – Ali

+0

@AliSharifi, '" smart.grid "' też przechodzi do listy: 'geom_dl (aes (label = z), list (" smart.grid ", cex = 2))' –

Powiązane problemy