Zoeken…


parameters

Parameter Details
x x-as variabele. Kan data$variablex of data[,x]
y y-as variabele. Kan data$variabley of data[,y]
main Hoofdtitel van plot
sub Optionele ondertiteling van de plot
xlab Label voor x-as
ylab Label voor y-as
pch Geheel getal of teken dat symbool aangeeft
col Geheel getal of tekenreeks die kleur aangeeft
type Type plot. "p" voor punten, "l" voor lijnen, "b" voor beide, "c" voor alleen het deel van de lijnen van "b" , "o" voor beide 'overplotted', "h" voor 'histogram'-achtige ( of 'hoge dichtheid') verticale lijnen, "s" voor traptreden, "S" voor andere treden, "n" voor geen plotten

Opmerkingen

De items in de sectie "Parameters" zijn een kleine fractie van de mogelijke parameters die kunnen worden gewijzigd of ingesteld met de par functie. Zie par voor een completere lijst. Bovendien hebben alle grafische apparaten, inclusief de systeemspecifieke interactieve grafische apparaten, een set parameters die de uitvoer kunnen aanpassen.

Basis plot

Een basisplot wordt gemaakt door plot() aan te roepen. Hier gebruiken we de ingebouwde cars dataframe dat de snelheid van de auto's en de maatregelen om stop in de jaren 1920 afstanden bevat. (Gebruik help (auto's) voor meer informatie over de dataset).

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

voer hier de afbeeldingsbeschrijving in

We kunnen veel andere variaties in de code gebruiken om hetzelfde resultaat te krijgen. We kunnen ook de parameters wijzigen om verschillende resultaten te verkrijgen.

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

voer hier de afbeeldingsbeschrijving in

Extra functies kunnen aan deze plot worden toegevoegd door points() , text() , mtext() , lines() , grid() , enz. Aan te roepen.

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")

voer hier de afbeeldingsbeschrijving in

Matplot

matplot is handig voor het snel plotten van meerdere sets observaties van hetzelfde object, in het bijzonder van een matrix, op dezelfde grafiek.

Hier is een voorbeeld van een matrix met vier sets willekeurige trekkingen, elk met een ander gemiddelde.

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

Een manier om al deze waarnemingen in dezelfde grafiek plot is om een doen plot oproep gevolgd door drie meer points of lines gesprekken.

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

Figuur met behulp van plot en lijnen

Dit is echter zowel vervelend als problemen, omdat onder andere standaard de aslimieten per plot worden vastgesteld om alleen in de eerste kolom te passen.

Veel handiger in deze situatie is het gebruik van de matplot functie, die slechts één aanroep vereist en automatisch zorgt voor matplot en het veranderen van de esthetiek voor elke kolom om ze onderscheidbaar te maken.

matplot(xmat, type = 'l')

Figuur met behulp van matplot

Merk op dat matplot standaard zowel kleur ( col ) als lijntype ( lty ) lty omdat dit het aantal mogelijke combinaties verhoogt voordat ze worden herhaald. Elke (of beide) van deze esthetiek kan echter worden vastgesteld op een enkele waarde ...

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

Figuur met behulp van matplot met alle zwarte lijnen

... of een aangepaste vector (die wordt gerecycled naar het aantal kolommen, volgens de standaard R-vectorrecyclingregels).

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

Figuur met behulp van matplot met aangepaste gekleurde lijnen

Standaard grafische parameters, inclusief main , xlab , xmin , werken op precies dezelfde manier als voor plot . Zie ?par . Voor meer informatie hierover.

Net als een plot , neemt matplot dat het de variabele y is als het slechts één object matplot en gebruikt het de indices voor x . x en y kunnen echter expliciet worden opgegeven.

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

Een waarde instellen voor de x-as

In feite kunnen zowel x als y matrices zijn.

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')

Matrixinvoer voor x en y

histogrammen

Histogrammen maken een pseudo-plot van de onderliggende verdeling van de gegevens mogelijk.

hist(ldeaths)

Histogram van ldeaths met standaardparameters

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

Historgram met dichtheid, verschillende onderbrekingen en gekleurde balken.

Plots combineren

Het is vaak handig om meerdere plottypen in één grafiek te combineren (bijvoorbeeld een Barplot naast een Scatterplot.) R maakt dit gemakkelijk met behulp van de functies par() en layout() .

par()

par gebruikt de argumenten mfrow of mfcol om een matrix van nrows en ncols c(nrows, ncols) die als raster voor uw plots zal dienen. Het volgende voorbeeld laat zien hoe vier plots in één grafiek kunnen worden gecombineerd:

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 plots gecombineerd in één plot

layout()

De layout() is flexibeler en stelt u in staat om de locatie en de omvang van elke plot in de uiteindelijke gecombineerde grafiek op te geven. Deze functie verwacht een matrixobject als invoer:

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")

Drie plots gecombineerd in één plot met behulp van layout ().

Dichtheid plot

Een zeer nuttige en logische follow-up van histogrammen zou zijn om de afgevlakte dichtheidsfunctie van een willekeurige variabele te plotten. Een basisplot geproduceerd door het commando

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

eruit zou zien

rnorm dichtheid plot voorbeeld

U kunt een histogram en een dichtheidscurve bedekken met

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

wat geeft

Overlay rnorm

Empirische cumulatieve distributiefunctie

Een zeer nuttige en logische follow-up van histogrammen en dichtheidsgrafieken zou de empirische cumulatieve verdelingsfunctie zijn. We kunnen hiervoor de functie ecdf() . Een basisplot geproduceerd door het commando

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

eruit zou zien voer hier de afbeeldingsbeschrijving in

Aan de slag met R_Plots

  • scatterplot

Je hebt twee vectoren en je wilt ze plotten.

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)

Als u een plot wilt maken met de y_values op de verticale as en de x_values op de horizontale as, kunt u de volgende opdrachten gebruiken:

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

U kunt ?plot() in de console typen om meer opties te lezen.

  • boxplot

U hebt enkele variabelen en u wilt hun distributies onderzoeken

#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.
  • histogrammen

Gemakkelijke manier om histogrammen te tekenen

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

Als je de frequenties van een variabele wilt visualiseren, teken je gewoon taart

Eerst moeten we gegevens met frequenties genereren, bijvoorbeeld:

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow