Buscar..


Parámetros

Parámetro Detalles
x Variable del eje x. Puede suministrar data$variablex o data[,x]
y Variable del eje y. Puede suministrar data$variabley o data[,y]
main Título principal de la trama.
sub Subtítulo opcional de la trama.
xlab Etiqueta para el eje x
ylab Etiqueta para el eje y
pch Entero o carácter que indica el símbolo de trazado
col Entero o cadena que indica color
type Tipo de parcela. "p" para los puntos, "l" para las líneas, "b" para ambos, "c" para las líneas, solo parte de "b" , "o" para ambos 'sobrepuntaados', "h" para 'histogram'-like ( o 'líneas verticales de' alta densidad ', "s" para escalones, "S" para otros pasos, "n" para no trazar

Observaciones

Los elementos enumerados en la sección "Parámetros" son una pequeña fracción de los posibles parámetros que pueden ser modificados o configurados por la función par . Ver par para una lista más completa. Además, todos los dispositivos gráficos, incluidos los dispositivos gráficos interactivos específicos del sistema, tendrán un conjunto de parámetros que pueden personalizar la salida.

Trama basica

Una trama básica se crea llamando a plot() . Aquí utilizamos el marco de datos de cars incorporado que contiene la velocidad de los autos y las distancias tomadas para detenerse en la década de 1920. (Para obtener más información sobre el conjunto de datos, use la ayuda (autos)).

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

introduzca la descripción de la imagen aquí

Podemos usar muchas otras variaciones en el código para obtener el mismo resultado. También podemos cambiar los parámetros para obtener diferentes resultados.

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

introduzca la descripción de la imagen aquí

Se pueden agregar características adicionales a este gráfico llamando los 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")

introduzca la descripción de la imagen aquí

Matplot

matplot es útil para trazar rápidamente múltiples conjuntos de observaciones desde el mismo objeto, particularmente desde una matriz, en el mismo gráfico.

Aquí hay un ejemplo de una matriz que contiene cuatro conjuntos de dibujos aleatorios, cada uno con una media diferente.

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

Una forma de trazar todas estas observaciones en el mismo gráfico es hacer una llamada a la plot seguida de tres points o lines .

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

Figura utilizando la trama y las líneas.

Sin embargo, esto es tedioso y causa problemas porque, entre otras cosas, de forma predeterminada, los límites de los ejes se fijan por plot para que se ajusten solo a la primera columna.

Mucho más conveniente en esta situación es usar la función matplot , que solo requiere una llamada y se ocupa automáticamente de los límites de los ejes y cambia la estética de cada columna para que se puedan distinguir.

matplot(xmat, type = 'l')

Figura utilizando matplot

Tenga en cuenta que, de forma predeterminada, matplot varía el color ( col ) y el tipo de línea ( lty ) porque esto aumenta el número de combinaciones posibles antes de que se repitan. Sin embargo, cualquiera (o ambas) de estas estéticas se pueden fijar a un solo valor ...

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

Figura utilizando matplot con todas las líneas negras.

... o un vector personalizado (que se reciclará al número de columnas, siguiendo las reglas estándar de reciclaje de vectores R).

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

Figura utilizando matplot con líneas de colores personalizados.

Los parámetros gráficos estándar, incluidos main , xlab , xmin , funcionan exactamente de la misma forma que para plot . Para más sobre esos, vea ?par .

Como plot , si se les da sólo un objeto, matplot asume que es el y variable y utiliza los índices de x . Sin embargo, x y y se puede especificar de forma explícita.

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

Establecer un valor para el eje x

De hecho, tanto x como y pueden ser 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')

Entrada de matriz para x e y

Histogramas

Los histogramas permiten una pseudo-gráfica de la distribución subyacente de los datos.

hist(ldeaths)

Histograma de ldeaths con parámetros por defecto.

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

Historgram con densidad, diferentes roturas y barras de colores.

Parcelas Combinadas

A menudo es útil combinar varios tipos de gráficos en un gráfico (por ejemplo, un gráfico de barras junto a un gráfico de dispersión). R facilita esta tarea con la ayuda de las funciones par() y layout() .

par()

par utiliza los argumentos mfrow o mfcol para crear una matriz de nrows y ncols c(nrows, ncols) que servirá como una cuadrícula para sus parcelas. El siguiente ejemplo muestra cómo combinar cuatro parcelas en una gráfica:

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

Cuatro parcelas combinadas en una sola parcela.

layout()

El layout() es más flexible y le permite especificar la ubicación y la extensión de cada gráfico dentro del gráfico final combinado. Esta función espera un objeto de matriz como entrada:

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

Tres parcelas combinadas en una parcela utilizando layout ().

Parcela de densidad

Un seguimiento muy útil y lógico de los histogramas sería trazar la función de densidad suavizada de una variable aleatoria. Una trama básica producida por el comando.

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

se vería como

Ejemplo de gráfico de densidad de tormenta

Puede superponer un histograma y una curva de densidad con

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

lo que da

Capa superpuesta

Función de distribución acumulativa empírica

Un seguimiento muy útil y lógico de los histogramas y gráficos de densidad sería la función de distribución acumulativa empírica. Podemos usar la función ecdf() para este propósito. Una trama básica producida por el comando.

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

se vería como introduzca la descripción de la imagen aquí

Primeros pasos con R_Plots

  • Gráfico de dispersión

Tienes dos vectores y quieres trazarlos.

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 desea hacer un gráfico que tenga los y_values en el eje vertical y los x_values de x_values en el eje horizontal, puede usar los siguientes comandos:

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

Puede escribir ?plot() en la consola para leer acerca de más opciones.

  • Diagrama de caja

Tienes algunas variables y quieres examinar sus Distribuciones.

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

Manera fácil de dibujar histogramas.

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

Si desea visualizar las frecuencias de una variable, simplemente dibuje un pastel.

Primero tenemos que generar datos con frecuencias, por ejemplo:

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow