Wie Sie, dass nicht alle Etiketten auf ggplot-Achse?
Ich versuche, mit ggplot2
dies zu planen: Aber wie Sie sehen können auf der x-Achse, man kann nicht alles Lesen...
Also, wie kann ich zeigen auf der x-Achse den Wert alle 10 Jahre, zum Beispiel?
Dies ist mein Befehl:
ggplot(prova, aes(x=year, y=mass..g.)) + geom_line(aes(group = 1))
InformationsquelleAutor der Frage Droide | 2015-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist Ihre
year
Spalte numerisch? Sie können hinzufügenscale_x_continuous
mit einembreaks
argument angeben, wo der x-Achse ticks werden sollte. Ich kann nicht sagen, was die Reihe von Jahren ist im Bild, aber wenn es von 1900 bis 2000 (z.B.) ist etwas wie dieses:InformationsquelleAutor der Antwort user2034412
Fake-Daten:
Ihrem Grundstück mit fake-Daten:
Das problem ist, dass dein Jahr variable ist eine
factor
(oder vielleicht ein string?), es ist also interpretiert als kategorisch. Sie können für die Arbeit innerhalb dieses Rahmens:Oder, noch besser, können Sie es konvertieren, um numerische und Dinge, die automatisch funktionieren:
Beachten Sie, dass diese, tun es "der richtige Weg", Sie müssen nicht die Mühe mit
group = 1
oder Chaos mit der Waage. ggplot belohnt Sie, nachdem Sie Ihre Daten in ein geeignetes format: fixieren Sie Ihre Daten und werden Sie nicht haben, um das Grundstück. Wenn Sie sicherstellen möchten, dass die Etiketten sind genau alle 10 Jahre, die Sie verwenden könnenscale_x_continuous
wie vorgeschlagen von user2034412, aber standardmäßig wird es eine gute Vermutung an, "ziemlich" bricht die Achse.Wenn Ihre x-Achse ist eine wirkliche date-oder datetime -, so etwas wie
1984-10-31
dann sollten Sie es konvertieren zu einemDate
Objekt (oder vielleicht einPOSIX
- Objekt, wenn Sie Zeit hat), und wiederggplot
wird dann wissen, wie zu behandeln es entsprechend. Sehen?strftime
(Basis-Funktion) oder dielubridate
Paket für Konvertierungen in das entsprechende Datum Klassen.InformationsquelleAutor der Antwort Gregor
Den anderen Antworten abgedeckt haben, der Fall, wo Ihre Daten sind numerische Jahren, aber wenn (wie @Gregor notes) Ihre Daten sind tatsächliche
Date
Objekte, es ist viel einfacher:Mit
scale_date
können Sie die Pausen mit intuitiven Sprache und die Kennzeichnung mit (hoffentlich) vertrautstrptime
notation.InformationsquelleAutor der Antwort rensa
Wenn du nicht allzu viele Datenpunkt können Sie dies so tun:
Fake-Daten:
Normal plot:
Grundstück mit verdeckten Etiketten:
InformationsquelleAutor der Antwort Lars