2016-05-27 21 views
3

Gibt es eine Möglichkeit, die von geom_label in ggplot2 ausgedruckten Daten über ihren Rohwert hinaus zu formatieren? Im folgenden Beispiel sind die Daten als "1910-01-01" gedruckt. Allerdings wollte ich nur den Monat und den Tag drucken und den Monat als Textwert haben. Hat jemand irgendwelche Ideen, wie ich das machen würde?Formatierung geom_label dates

library(ggplot2) 

df <- data.frame(
    x=1:5, 
    y=runif(5,10,40), 
    Date=seq(as.Date("1910/1/1"), as.Date("1914/1/1"), "years")) 


ggplot(df, aes(x=x, y=y)) + 
    geom_point() + 
    geom_label(aes(label=Date)) 

Antwort

3

Ich nehme an, Sie geom_text nicht geom_label gemeint.

Sie format verwenden können, zu extrahieren, was Sie wollen (siehe format.POSIXct für eine vollständige Liste)

ggplot(df, aes(x=x, y=y)) + 
    geom_point() + 
    geom_text(aes(label=format(Date, format = "%b %d"))) 

enter image description here

+0

Nein Ich wollte 'geom_label'. Und ich benutzte tatsächlich die 'ggrepel'-Bibliothek, so dass das Geom, das ich benutzte,' geom_label_repel' war. Trotzdem funktioniert die Antwort wunderbar. – boshek

+0

@boshek Wenn Sie ein anderes Paket verwenden, stellen Sie sicher, dass Sie dies in der Frage angeben. Sonst kann niemand etwas wissen ... –

+0

'geom_label' ist Teil des Pakets' ggplot2'. Ich habe lediglich aus Gründen des Interesses zusätzliche Informationen "greppel" zur Verfügung gestellt. Tatsächlich hielt ich die Frage sparsam, so dass ich keine zusätzliche Bibliothek hinzufügen musste. – boshek