2012-04-03 19 views
10

Nie mogę zmienić rozmiaru czcionek w direct.label (z pakietu directlabels) wykresu ggplot2. Zobacz poniżej dla odtwarzalnego przykładu - nie ma problemu z obróceniem etykiet o 45 stopni, co czyni je pogrubionymi, szeryfowymi i 50% przezroczystymi (wszystkie pozostałe argumenty na liście na końcu kodu poniżej) - ale nie mogę kontrolować rozmiar czcionki. (Naprawdę nie chcę, żeby były 25, to tylko do testowania ...)Jak zmienić czcionkę w direct.label?

Czy jest coś, czego mi brakuje, czy jest to błąd?

library(ggplot2) 
library(scales) 
library(directlabels) 
df <- data.frame(x = rnorm(26), y=rnorm(26), let=letters) 
p <- ggplot(df, aes(x, y, color=let)) + geom_point() 
direct.label(p, 
    list("top.points", rot=45, fontsize=25, 
     fontface="bold", fontfamily="serif", alpha=0.5)) 

Odpowiedz

11

I zdobione, należy użyć cex zmienić rozmiar czcionki.

df <- data.frame(x = rnorm(26), y=rnorm(26), let=letters) 
p <- ggplot(df, aes(x, y, color=let)) + geom_point() 
direct.label(p, 
    list("top.points", rot=45, cex=6, 
      fontface="bold", fontfamily="serif", alpha=0.5)) 

To dałoby ci, jjj

3

To trochę inna droga, ale czy rozważałbyś zrobienie tego wszystkiego w ggplot2?

ggplot(df, aes(x, y, color=let)) + 
     geom_point() + 
     geom_text(df, mapping=aes(x, y, label=let, colour=let), 
     size=5, vjust=-.55, hjust=.55, angle = 45, fontface="bold", 
     family ="serif", alpha=0.5) + opts(legend.position = "none") 

To dałbyś tym, można regulować wielkość czcionki korzystając size enter image description here

+0

dzięki, nie jest źle z tymi danymi i +1 za coś będę prawdopodobnie wykorzystać, ale chcę funkcjonalność direct.labels więc etykiety nie są na szczycie siebie nawzajem dla blisko siebie punktów (moje prawdziwe dane mają dłuższe etykiety). –

Powiązane problemy