Suche…


Parameter

Parameter Einzelheiten
x x-Achsenvariable Kann entweder data$variablex oder data[,x] liefern
y y-Achsenvariable. Kann entweder data$variabley oder data[,y] liefern
main Haupttitel der Handlung
sub Optionaler Untertitel der Handlung
xlab Beschriftung für die x-Achse
ylab Beschriftung für die y-Achse
pch Eine ganze Zahl oder ein Zeichen, das ein Plot-Symbol anzeigt
col Ganzzahl oder Zeichenfolge, die die Farbe angibt
type Art des Grundstücks "p" für Punkte, "l" für Linien, "b" für beide, "c" für den Linienteil "b" , "o" für beide "überzeichnet", "h" für "Histogramm" ( oder "hohe Dichte") vertikale Linien, "s" für Treppenstufen, "S" für andere Schritte, "n" für kein Plotten

Bemerkungen

Bei den im Abschnitt "Parameter" aufgeführten Elementen handelt es sich um einen kleinen Bruchteil der möglichen Parameter, die von der par Funktion geändert oder eingestellt werden können. Siehe par für eine vollständigere Liste. Zusätzlich verfügen alle Grafikgeräte, einschließlich der systemspezifischen interaktiven Grafikgeräte, über eine Reihe von Parametern, mit denen die Ausgabe angepasst werden kann.

Grundlegende Darstellung

Ein grundlegendes Diagramm wird durch Aufrufen von plot() . Hier verwenden wir den Datenrahmen der eingebauten cars , der die Geschwindigkeit der Autos und die zurückgelegten Entfernungen in den 1920er Jahren enthält. (Weitere Informationen zum Datensatz finden Sie in der Hilfe (Autos)).

plot(x = cars$speed, y = cars$dist, pch = 1, col = 1, 
     main = "Distance vs Speed of Cars", 
     xlab = "Speed", ylab = "Distance")

Geben Sie hier die Bildbeschreibung ein

Wir können viele andere Variationen im Code verwenden, um das gleiche Ergebnis zu erzielen. Wir können die Parameter auch ändern, um unterschiedliche Ergebnisse zu erhalten.

with(cars, plot(dist~speed, pch = 2, col = 3, 
     main = "Distance to stop vs Speed of Cars", 
     xlab = "Speed", ylab = "Distance"))

Geben Sie hier die Bildbeschreibung ein

Zusätzliche Funktionen können zu diesem Diagramm hinzugefügt werden, indem points() , text() , mtext() , lines() , grid() usw. mtext() .

plot(dist~speed, pch = "*", col = "magenta", data=cars,
     main = "Distance to stop vs Speed of Cars", 
     xlab = "Speed", ylab = "Distance")
mtext("In the 1920s.")
grid(,col="lightblue")

Geben Sie hier die Bildbeschreibung ein

Matplot

matplot ist nützlich, um mehrere Sätze von Beobachtungen von demselben Objekt, insbesondere von einer Matrix, in derselben Grafik schnell zu matplot .

Hier ist ein Beispiel für eine Matrix, die vier Gruppen von Zufallszahlen enthält, die jeweils einen anderen Mittelwert haben.

xmat <- cbind(rnorm(100, -3), rnorm(100, -1), rnorm(100, 1), rnorm(100, 3))
head(xmat)
#          [,1]        [,2]       [,3]     [,4]
# [1,] -3.072793 -2.53111494  0.6168063 3.780465
# [2,] -3.702545 -1.42789347 -0.2197196 2.478416
# [3,] -2.890698 -1.88476126  1.9586467 5.268474
# [4,] -3.431133 -2.02626870  1.1153643 3.170689
# [5,] -4.532925  0.02164187  0.9783948 3.162121
# [6,] -2.169391 -1.42699116  0.3214854 4.480305

Eine Möglichkeit , alle diese Beobachtungen auf dem gleichen Graphen zeichnen soll man tun plot Anruf durch drei weitere gefolgt points oder lines Anrufe.

plot(xmat[,1], type = 'l')
lines(xmat[,2], col = 'red')
lines(xmat[,3], col = 'green')
lines(xmat[,4], col = 'blue')

Abbildung mit Plot und Linien

Dies ist jedoch sowohl langwierig als auch problematisch, da unter anderem die Achsengrenzen standardmäßig durch plot festgelegt werden, um nur in die erste Spalte zu passen.

In dieser Situation ist es viel praktischer, die matplot Funktion zu verwenden, die nur einen Aufruf erfordert und automatisch die Achsenbegrenzungen berücksichtigt und die Ästhetik für jede Spalte ändert, um sie unterscheidbar zu machen.

matplot(xmat, type = 'l')

Abbildung mit Matplot

Beachten Sie, dass matplot standardmäßig sowohl Farbe ( col ) als auch Linientyp ( lty ) lty da dies die Anzahl möglicher Kombinationen erhöht, bevor sie wiederholt werden. Jede dieser Ästhetiken (oder beide) kann jedoch auf einen einzigen Wert festgelegt werden ...

matplot(xmat, type = 'l', col = 'black')

Abbildung mit Matplot mit allen schwarzen Linien

... oder einen benutzerdefinierten Vektor (der nach den Standardregeln für den R-Vektor-Recycling auf die Anzahl der Spalten zurückgeführt wird)

matplot(xmat, type = 'l', col = c('red', 'green', 'blue', 'orange'))

Abbildung mit Matplot mit benutzerdefinierten farbigen Linien

Grafische Standardparameter, einschließlich main , xlab , xmin , funktionieren genauso wie beim plot . Für mehr darüber, siehe ?par .

Wie plot , gegeben , wenn nur ein Objekt, matplot nimmt das ist y Variable und verwendet die Indizes für x . x und y können jedoch explizit angegeben werden.

matplot(x = seq(0, 10, length.out = 100), y = xmat, type='l')

Wert für die x-Achse einstellen

In der Tat können sowohl x als auch y Matrizen sein.

xes <- cbind(seq(0, 10, length.out = 100),
             seq(2.5, 12.5, length.out = 100),
             seq(5, 15, length.out = 100),
             seq(7.5, 17.5, length.out = 100))
matplot(x = xes, y = xmat, type = 'l')

Matrix-Eingabe für x und y

Histogramme

Histogramme ermöglichen eine Pseudo-Darstellung der zugrunde liegenden Verteilung der Daten.

hist(ldeaths)

Histogramm von Daten mit Standardparametern

hist(ldeaths, breaks = 20, freq = F, col = 3)

Historogramm mit Dichte, verschiedenen Brüchen und farbigen Balken.

Plots kombinieren

Es ist oft nützlich, mehrere Diagrammtypen in einem Diagramm zu kombinieren (z. B. ein Balkendiagramm neben einem Streudiagramm.) R macht dies mit Hilfe der Funktionen par() und layout() einfach.

par()

par verwendet die Argumente mfrow oder mfcol , um eine Matrix aus nrows und ncols c(nrows, ncols) die als Raster für Ihre Plots dienen. Das folgende Beispiel zeigt, wie vier Diagramme in einem Diagramm kombiniert werden:

par(mfrow=c(2,2))
plot(cars, main="Speed vs. Distance")
hist(cars$speed, main="Histogram of Speed")
boxplot(cars$dist, main="Boxplot of Distance")
boxplot(cars$speed, main="Boxplot of Speed")

Vier Parzellen in einer Parzelle

layout()

Das layout() ist flexibler und ermöglicht es Ihnen, die Position und die Ausdehnung jedes Diagramms innerhalb des endgültigen kombinierten Diagramms anzugeben. Diese Funktion erwartet ein Matrixobjekt als Eingabe:

layout(matrix(c(1,1,2,3), 2,2, byrow=T))
hist(cars$speed, main="Histogram of Speed")
boxplot(cars$dist, main="Boxplot of Distance")
boxplot(cars$speed, main="Boxplot of Speed")

Drei Diagramme in einem Diagramm mit Layout () kombiniert.

Dichteplot

Eine sehr nützliche und logische Folge von Histogrammen wäre die Darstellung der geglätteten Dichtefunktion einer Zufallsvariablen. Eine durch den Befehl erzeugte Grunddarstellung

plot(density(rnorm(100)),main="Normal density",xlab="x")

würde aussehen wie

Beispiel für ein Dichte-Plot

Sie können ein Histogramm und eine Dichtekurve mit überlagern

x=rnorm(100)
hist(x,prob=TRUE,main="Normal density + histogram")
lines(density(x),lty="dotted",col="red")

was gibt

Überlagerungsprogramm

Empirische kumulative Verteilungsfunktion

Eine sehr nützliche und logische Folge von Histogrammen und Dichtediagrammen wäre die empirische kumulative Verteilungsfunktion. Wir können dazu die Funktion ecdf() verwenden. Eine durch den Befehl erzeugte Grunddarstellung

plot(ecdf(rnorm(100)),main="Cumulative distribution",xlab="x")

würde aussehen wie Geben Sie hier die Bildbeschreibung ein

Erste Schritte mit R_Plots

  • Streudiagramm

Sie haben zwei Vektoren und möchten diese grafisch darstellen.

x_values <- rnorm(n = 20 , mean = 5 , sd = 8) #20 values generated from Normal(5,8)
y_values <- rbeta(n = 20 , shape1 = 500 , shape2 = 10) #20 values generated from Beta(500,10)

Wenn Sie ein Diagramm y_values möchten, das die y_values in der vertikalen Achse und die x_values in der horizontalen Achse hat, können Sie die folgenden Befehle verwenden:

plot(x = x_values, y = y_values, type = "p") #standard scatter-plot
plot(x = x_values, y = y_values, type = "l") # plot with lines
plot(x = x_values, y = y_values, type = "n") # empty plot

Sie können ?plot() in die Konsole eingeben, um weitere Optionen zu erfahren.

  • Box-Plot

Sie haben einige Variablen und möchten deren Verteilung untersuchen

#boxplot is an easy way to see if we have some outliers in the data.
   
z<- rbeta(20 , 500 , 10) #generating values from beta distribution
z[c(19 , 20)] <- c(0.97 , 1.05) # replace the two last values with outliers      
boxplot(z) # the two points are the outliers of variable z.
  • Histogramme

Einfache Möglichkeit, Histogramme zu zeichnen

hist(x = x_values) # Histogram for x vector
hist(x = x_values, breaks = 3) #use breaks to set the numbers of bars you want
  • Kreisdiagramme

Wenn Sie die Frequenzen einer Variablen visualisieren möchten, zeichnen Sie einfach einen Kreis

Zuerst müssen wir Daten mit Frequenzen erzeugen, zum Beispiel:

P <- c(rep('A' , 3) , rep('B' , 10) , rep('C' , 7) )
t <- table(P) # this is a frequency matrix of variable P
pie(t) # And this is a visual version of the matrix above


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow