2016-05-24 23 views
0

Ich habe einen Datenrahmen mit Regionen und Werten. Hier ist ein Spielzeugbeispiel.R - ggplot2 - Zeichnungsbereiche als Linien

Start End Value 
1  100  2 
100  200  3 
300  400  2 
400  500  1 

Was Ich mag würde zu tun ist, einen Plot zu erstellen, in dem jede Region (in Zeile 1, dass Start=1 ist, End=100) auf der x aufgetragen, und die Value ist auf der y. Und am liebsten würde ich ggplot2 verwenden. Ich habe viele verschiedene Anwendungen dafür, aber sie alle laufen auf diese eine Frage hinaus.

Was ich würde enden mit einem Grundstück mit flachen (Steigung = 0) Linien für jede Region. Hier ist ein Beispiel für die Art der Handlung , wenn Sie die Punkte ignorieren, und konzentrieren Sie sich nur auf die Linien.

Copy number plot

In Worten, würden Sie ein Grundstück haben, mit (für die Spielzeug-Daten) zu einer Linie von x = 1-100 mit einem y-Wert von 2, dann Linien (x, y): (100- 200, 3) (300-400, 2) (400-500, 1)

Antwort

1

Sie können geom_segment verwenden, um Liniensegmente zu zeichnen. Details finden Sie unter ?geom_segment.

ggplot(df) + 
    geom_segment(aes(x = Start, xend = End, y = Value, yend = Value)) 

enter image description here

diese Daten verwenden:

df = structure(list(Start = c(1L, 100L, 300L, 400L), End = c(100L, 
200L, 400L, 500L), Value = c(2L, 3L, 2L, 1L)), .Names = c("Start", 
"End", "Value"), class = "data.frame", row.names = c(NA, -4L)) 

Sie wahrscheinlich einige einführende ggplot2 Ressourcen sollten überprüfen. Es gibt viele Vorschläge in der ggplot2 tag wiki.

+0

Vielen Dank für die Ressource! –

Verwandte Themen