2016-06-10 10 views
4

Ich habe Daten (Tiefe über Zeit), die ich mit einem Liniendiagramm anzeigen möchte. Aus Gründen der Übersichtlichkeit möchte ich einen Abschnitt vergrößern, aber dem Benutzer immer noch zeigen, dass die Daten außerhalb der Grenzen des Diagramms fortgesetzt werden. Ich möchte also, dass die Linien am Rand der Handlung enden und nicht am letzten Punkt. Das ist in den Basisgrafiken einfach, aber ich kann es nicht in ggplot machen. Hier ist ein Beispiel mit Base:Wie man ggplot Zeilen zum Rand laufen lässt?

d <- data.frame(x = 1:10, y = 1:10) 
plot(d$x, d$y, xlim = c(2,9)) 
lines(d$x, d$y) 

line plot in base graphics

Ein ähnlicher Ansatz mit ggplot nicht funktioniert; Die Linien enden am letzten Punkt. Beispiel:

d <- data.frame(x = 1:10, y = 1:10) 
ggplot(d, aes(x, y)) + geom_point() + geom_line() + xlim(2,9) 

line plot in ggplot

Gibt es eine Möglichkeit Linien zu bekommen, um die Handlung des Rand in ggplot zu laufen? Vielen Dank.

Antwort

5

versuchen diese

d <- data.frame(x = 1:10, y = 1:10) 
ggplot(d, aes(x, y)) + geom_point() + geom_line() + coord_cartesian(xlim = c(0,9)) 

enter image description here

+0

Perfect, danke! –

0

wenn Sie eine gerade Linie wollen, abline

d <- data.frame(x = 1:10, y = 1:10) 
ggplot(d, aes(x, y)) + geom_point() + geom_abline() + xlim(2,9) 
am einfachsten wäre

enter image description here

Verwandte Themen