Mit diesem Datenrahmen ("df"):ggplot2 Liniendiagramm gibt "geom_path: Jede Gruppe besteht aus nur einer Beobachtung. Müssen Sie die Gruppenästhetik anpassen?"
year pollution
1 1999 346.82000
2 2002 134.30882
3 2005 130.43038
4 2008 88.27546
Ich versuche, ein Liniendiagramm wie diese zu erstellen:
plot5 <- ggplot(df, aes(year, pollution)) +
geom_point() +
geom_line() +
labs(x = "Year", y = "Particulate matter emissions (tons)", title = "Motor vehicle emissions in Baltimore")
Der Fehler I erhalten:
geom_path: Jede Gruppe besteht aus nur einer Beobachtung. Müssen Sie die Gruppenästhetik anpassen?
Das Diagramm erscheint als Streudiagramm, obwohl ich ein Liniendiagramm haben möchte. Ich habe versucht, geom_line()
durch geom_line(aes(group = year))
zu ersetzen, aber das hat nicht funktioniert.
In einer Antwort wurde mir gesagt, Jahr zu einer Faktorvariablen zu konvertieren. Ich habe und das Problem besteht weiter. Dies ist die Ausgabe von str(df)
und dput(df)
:
'data.frame': 4 obs. of 2 variables:
$ year : num 1 2 3 4
$ pollution: num [1:4(1d)] 346.8 134.3 130.4 88.3
..- attr(*, "dimnames")=List of 1
.. ..$ : chr "1999" "2002" "2005" "2008"
structure(list(year = c(1, 2, 3, 4), pollution = structure(c(346.82,
134.308821199349, 130.430379885892, 88.275457392443), .Dim = 4L, .Dimnames = list(
c("1999", "2002", "2005", "2008")))), .Names = c("year",
"pollution"), row.names = c(NA, -4L), class = "data.frame")
Es gibt keinen Fehler, wenn ich es laufen. Es ist wahrscheinlich, dass "df" nicht das ist, was Sie denken, dass es ist. Bitte geben Sie Ihre Frage in reproduzierbarer Form an, d. H. Zeigen Sie die Ausgabe von 'dput (df)' an. –
könnte sein, dass Ihre Variablen Faktoren sind, dann müssten Sie sie in numerische konvertieren – beetroot
@ G.Grothiedieck ich gepostet, was Sie gesagt haben. Ich konvertierte auch zu numerisch und habe immer noch das Problem. – megashigger