2009-07-07 11 views
2

Ich frage mich, ob es möglich war, drei Zeilen in R mit Funktionen zu zeichnen. Zum Beispiel: Wie kann ich die Funktionen erhalten:Linienfunktionen in R

3x+1 
4x+2 
x+1 

auf derselben Grafik in r zu zeigen?

Antwort

3

Zunächst entscheiden die Grenzen, sagen 0 bis 100, und ein leeres Grundstück macht diese Punkte einschließlich:

plot(c(0,100), c(0,100)) 

möglicherweise natürlich mit optionalen Parametern wie axes=, xlab=, ylab=, und so weiter, zu steuern, verschiedene Details der Achsen und Titel/Etikettierung; Dann fügen Sie jede Zeile mit abline(a, b) wobei b die Steigung ist und der Schnittpunkt, so, in Ihre Beispiele:

abline(1, 3) 
abline(2, 4) 
abline(1, 1) 

Natürlich gibt es viele weitere Details, die Sie wie Farbe (col= optionaler Parameter) steuern kann, Linientyp (lty=) und Breite (lwd=), usw., aber das ist der Kern davon.

+1

Grundstück (c (0, 100), c (0, 100), type = 'n') gesetzt werden soll schöner. Das 'n' verhindert jede Ausgabe und zeigt nur eine leere Grafik an (andernfalls werden zwei Punkte am Ursprung und (100, 100) gezeichnet). Die folgenden Abline-Befehle zeigen dann die Linien an. – ars

+0

Ausgezeichneter Punkt (;-), @ars! –

0

Hier ist eine andere Art und Weise unter Verwendung von matplot:

> x <- 0:10 
> matplot(cbind(x, x, x), cbind(3*x+1, 4*x+2, x+1), 
      type='l', xlab='x', ylab='y') 

matplot (X, Y, ...) nimmt zwei Argumente Matrix. Jede Spalte von X ist gegen jede Spalte von Y aufgetragen.

In unserem Fall ist X eine 11 x 3 Matrix mit jeder Spalte eine Folge von 0 bis 10 (unsere x-Werte für jede Zeile). Y ist eine 11 x 3-Matrix, wobei jede Spalte außerhalb des x-Vektors berechnet wird (nach Ihren Liniengleichungen).

xlab und ylab nur die x- und y-Achsen beschriften. Die type='l' gibt an, dass Linien gezeichnet werden sollen (siehe andere Optionen, indem Sie an der R-Eingabeaufforderung ?matplot oder ?plot eingeben).

Eine nette Sache über Matplot ist, dass die Standardeinstellungen für das Plotten mehrerer Linien nett sein können - es wählt verschiedene Farben und Stile pro Zeile aus. Diese können auch geändert werden: siehe ?matplot (und lty für weitere Details).

2

Sie können auch die Funktion curve verwenden. Zum Beispiel:

curve(3*x+1, from=-5, to=5) 
curve(4*x+2, add=T) 
curve(x+1, add=T) 

Hier der Add Parameter bewirkt, dass die Grundstücke in der gleichen Grafik