R + ggplot2: Wie verberge ich fehlende Daten von der X-Achse?

8

Nehmen wir an, wir haben den folgenden einfachen Datenrahmen von Datum-Wert-Paaren, wobei einige Daten in der Sequenz fehlen (d. h. 12. bis 14. Januar). Wenn ich die Punkte grafisch darstelle, zeigt es diese fehlenden Daten auf der X-Achse an, aber es gibt keine Punkte, die diesen Daten entsprechen. Ich möchte verhindern, dass diese fehlenden Daten in der X-Achse angezeigt werden, so dass die Punktsequenz keine Unterbrechungen aufweist. Irgendwelche Vorschläge, wie man das macht? Vielen Dank!

%Vor%

    
Prasad Chalasani 02.03.2011, 15:03
quelle

3 Antworten

8

Stellen Sie die Datumsdaten dann auf einen Faktor ein. Momentan interpretiert ggplot die Daten in dem Sinne, in dem Sie die Daten angegeben haben - eine fortlaufende Datumsskala. Sie wollen diese Skala nicht, Sie wollen eine kategorische Skala:

%Vor%

versus

%Vor%

was produziert:

Hast du das gewollt?

    
Gavin Simpson 02.03.2011, 15:11
quelle
7

Ich habe ein Paket erstellt, das dies tut. Es heißt bdscale und es befindet sich auf CRAN und github . Schamloser Stecker.

Um Ihr Beispiel zu replizieren:

%Vor%

Aber Sie möchten wahrscheinlich bekannte gültige Daten laden und dann Ihre Daten mit den gültigen Daten auf der X-Achse darstellen:

%Vor%

Die Warnung besagt, dass drei Daten entfernt wurden:

  • 15. = Samstag
  • 16th = Sonntag
  • 17. = MLK-Tag
dvmlls 28.10.2014 15:01
quelle
5

Die erste Frage ist: Warum willst du das machen? Es macht keinen Sinn, eine koordinatenbasierte Darstellung zu zeigen, wenn Ihre Achsen keine Koordinaten sind. Wenn Sie dies wirklich tun möchten, können Sie in einen Faktor konvertieren. Sei vorsichtig mit der Bestellung:

%Vor%

Bei Faktoren müssen Sie vorsichtig sein, da die Reihenfolge in einem Faktor beliebig ist, es sei denn, Sie machen es zu einem geordneten Faktor. Da Faktoren standardmäßig alphabetisch geordnet sind, können Sie Probleme mit einigen Datumsformaten bekommen. Sei also vorsichtig, was du tust. Wenn Sie die Bestellung nicht berücksichtigen, erhalten Sie:

%Vor%

    
Joris Meys 02.03.2011 15:15
quelle

Tags und Links