2013-01-11 7 views
7

HI Ich benutze ggmap und gg_point um die gemessenen Daten in einer Flussmündung zu zeigen.geom_text funktioniert nicht wenn ggmap und geom_point verwendet werden

Der Code, den ich ist wie folgt verwendet:

library(ggmap) 
al1 <- get_map(location = c(lon = -87.525, lat = 30.35), zoom = 12, maptype = 'terrain') 

lon<- c(-87.604474,-87.55) 
lat<- c(30.362563,30.35) 
label <- c("A","B") 
df<-data.frame(lon,lat,label) 

p <- ggmap(al1)+geom_point(data=df,aes(x=lon,y=lat,shape=label,label=label),size=3) 
p <- p + xlab("Longitude")+ylab("Latitude") 
p <- p +geom_text(aes(label=label, size=3,vjust=0)) 
p <- p + labs(title="Monitoring stations ") 
p 

ggsave("plot.pdf") 

hier, wenn ich geom_text verwenden dann bekomme ich folgende Fehlermeldung: „Ästhetik entweder Länge ein, oder die gleiche Länge wie das sein muss, dataProblems: Label ".

Ich möchte die Beschriftung neben den Punkten in der Zeichnung platzieren. Ich möchte beide Punkte und Label und mit etwas Abstand, so dass es leichter zu lesen wäre.

Ich schaute auf diesen Beitrag "ggplot legend issue w/ geom_point and geom_text" und versuchte, meinen Code zu beheben, wie Sie oben sehen können, aber ich weiß nicht, warum ich dieses Problem habe.

Es gibt einen anderen Beitrag How can I persuade ggplot2 geom_text to label a specified date in a time series plot?, der die ähnlichen Fragen spricht. Bekomme ich unterschiedliche Ergebnisse, weil ich auch ggmap verwende?

Bitte helfen Sie mir, dieses Problem zu lösen. Ich danke dir sehr.

Jdbaba

Antwort

10

Ihr Problem ist, dass Sie nicht die Ästhetik in geom_text korrekt angegeben haben:

geom_text(data = df, aes(x = lon, y = lat, label = label), 
      size = 3, vjust = 0, hjust = -0.5) 

Sie nicht geom_text zu sagen hat df die Variablen aus dem Datenrahmen zu verwenden. Wenn Sie das nicht tun, werden alle Ästhetik vom Hauptanruf geerbt. Wenn Sie die Ästhetik auf einen einzelnen Wert einstellen, tun Sie dies nicht innerhalb von aes(), sondern außerhalb.

Ich monkeyed mit der hjust Einstellung, um die Etiketten sichtbar zu bekommen.

+0

Danke joran, das habe ich gerade herausgefunden und wollte das posten. Vielen Dank für Ihre Zeit. –

+0

@Jdbaba Kein Problem. (Ich habe mich geirrt, '' shape' 'zu lösen, btw.) – joran

+0

Ich lerne gerade R und ggplot und bin sehr aufgeregt mit der Art von Unterstützung, die ihr zur Verfügung stellt. Danke @Joran und @ Josh O'Brien –

Verwandte Themen