Recherche…


Paramètres

Paramètre Détails
x variable d'axe x. Peut fournir des data$variablex ou des data[,x]
y variable d'axe y. Peut fournir des data$variabley ou des data[,y]
main Titre principal de l'intrigue
sub Sous-titre optionnel de l'intrigue
xlab Etiquette pour l'axe des x
ylab Etiquette pour l'axe y
pch Entier ou caractère indiquant le symbole de traçage
col Entier ou chaîne indiquant la couleur
type Type de parcelle. "p" pour les points, "l" pour les lignes, "b" pour les deux, "c" pour les parties seules de "b" , "o" pour les deux "overplotted", "h" pour "histogramme" ( ou des lignes verticales «haute densité», "s" pour les marches d'escalier, "S" pour les autres marches, "n" pour l'absence de tracé

Remarques

Les éléments listés dans la section "Paramètres" sont une petite fraction des paramètres possibles qui peuvent être modifiés ou définis par la fonction par défaut. Voir le par Pour une liste plus complète. De plus, tous les périphériques graphiques, y compris les périphériques graphiques interactifs spécifiques au système, auront un ensemble de paramètres permettant de personnaliser la sortie.

Terrain de base

Un tracé de base est créé en appelant plot() . Ici, nous utilisons le cars données intégré des cars qui contient la vitesse des voitures et les distances prises pour s’arrêter dans les années 1920. (Pour en savoir plus sur le jeu de données, utilisez help (cars)).

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

entrer la description de l'image ici

Nous pouvons utiliser de nombreuses autres variantes du code pour obtenir le même résultat. Nous pouvons également modifier les paramètres pour obtenir des résultats différents.

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

entrer la description de l'image ici

Des fonctionnalités supplémentaires peuvent être ajoutées à ce tracé en appelant points() , text() , mtext() , lines() , grid() , etc.

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

entrer la description de l'image ici

Matplot

matplot est utile pour tracer rapidement plusieurs ensembles d'observations à partir du même objet, en particulier à partir d'une matrice, sur le même graphique.

Voici un exemple de matrice contenant quatre ensembles de tirages aléatoires, chacun avec une moyenne différente.

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

Une façon de tracer toutes ces observations sur le même graphique est de faire un plot appel suivi de trois plus de points ou de lines d' appels.

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

Figure utilisant l'intrigue et les lignes

Cependant, cela est à la fois fastidieux et cause des problèmes, entre autres, par défaut, les limites des axes sont fixées par plot pour ne tenir que dans la première colonne.

Dans cette situation, il est beaucoup plus pratique d’utiliser la fonction matplot , qui ne nécessite qu’un appel et prend automatiquement en charge les limites des axes et modifie l’esthétique de chaque colonne pour les distinguer.

matplot(xmat, type = 'l')

Figure utilisant matplot

Notez que, par défaut, matplot varie à la fois en couleur ( col ) et en type de ligne ( lty ) car cela augmente le nombre de combinaisons possibles avant qu'elles ne soient répétées. Cependant, toutes ces esthétiques (ou les deux) peuvent être fixées à une seule valeur ...

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

Figure utilisant un matplot avec toutes les lignes noires

... ou un vecteur personnalisé (qui recyclera au nombre de colonnes, en suivant les règles standard de recyclage des vecteurs R).

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

Figure utilisant un matplot avec des lignes de couleur personnalisée

Les paramètres graphiques standard, y compris main , xlab , xmin , fonctionnent exactement de la même manière que pour plot . Pour plus sur ceux-ci, voir ?par .

Comme pour plot , si on ne donne qu'un seul objet, matplot suppose que c'est la variable y et utilise les indices pour x . Cependant, x et y peuvent être spécifiés explicitement.

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

Définition d'une valeur pour l'axe x

En fait, x et y peuvent tous deux être des matrices.

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

Entrée de matrice pour x et y

Histogrammes

Les histogrammes permettent un pseudo-tracé de la distribution sous-jacente des données.

hist(ldeaths)

Histogramme des rides avec paramètres par défaut

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

Historgramme avec densité, pauses différentes et barres colorées.

Combiner des parcelles

Il est souvent utile de combiner plusieurs types de tracé dans un graphique (par exemple, un graphique à barres à côté d'un diagramme de dispersion). R facilite les choses à l'aide des fonctions par() et layout() .

par()

par les arguments mfrow ou mfcol pour créer une matrice de nrows et de ncols c(nrows, ncols) qui serviront de grille à vos tracés. L'exemple suivant montre comment combiner quatre tracés dans un graphique:

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

Quatre parcelles combinées en une parcelle

layout()

Le layout() est plus flexible et vous permet de spécifier l'emplacement et l'étendue de chaque tracé dans le graphique combiné final. Cette fonction attend un objet matrice en entrée:

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

Trois parcelles combinées dans une parcelle à l'aide de la disposition ().

Parcelle de densité

Un suivi très utile et logique des histogrammes consisterait à tracer la fonction de densité lissée d'une variable aléatoire. Un tracé de base produit par la commande

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

ressemblerait

exemple de graphique de densité rnormale

Vous pouvez superposer un histogramme et une courbe de densité avec

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

qui donne

Superposition rnorm

Fonction de distribution cumulative empirique

Un suivi très utile et logique des histogrammes et des tracés de densité serait la fonction de distribution cumulative empirique. Nous pouvons utiliser la fonction ecdf() à cette fin. Un tracé de base produit par la commande

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

ressemblerait entrer la description de l'image ici

Premiers pas avec R_Plots

  • Scatterplot

Vous avez deux vecteurs et vous voulez les tracer.

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)

Si vous souhaitez effectuer une parcelle qui a les y_values dans l' axe vertical et les x_values dans l' axe horizontal, vous pouvez utiliser les commandes suivantes:

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

Vous pouvez taper ?plot() dans la console pour en savoir plus sur les options.

  • Boxplot

Vous avez des variables et vous souhaitez examiner leurs distributions

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

Un moyen facile de dessiner des histogrammes

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

Si vous voulez visualiser les fréquences d'une variable, dessinez juste une tarte

Nous devons d'abord générer des données avec des fréquences, par exemple:

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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow