Saltar al contenido principal
Documentos
Gestión de datos en RGráficos en RR DocumentaciónInterfaz REstadística en RIntroducción de datos en R

Ejes y etiquetas en R

Muchas funciones de trazado de alto nivel (plot, hist, boxplot, etc.) te permiten incluir opciones de eje y texto (así como otros parámetros gráficos). Por ejemplo:

 # Specify axis options within plot()
plot(x, y, main="title", sub="subtitle",
  xlab="X-axis label", ylab="y-axix label",
  xlim=c(xmin, xmax), ylim=c(ymin, ymax))

Para un control más fino o para la modularización, puedes utilizar las funciones que se describen a continuación.

Títulos

Utiliza la función title( ) para añadir etiquetas a un gráfico.

title(main="main title", sub="sub-title",
 xlab="x-axis label", ylab="y-axis label")

Muchos otros parámetros gráficos (como el tamaño del texto, la fuente, la rotación y el color) también pueden especificarse en la función title( ).

# Add a red title and a blue subtitle. Make x and y
# labels 25% smaller than the default and green.
title(main="My Title", col.main="red",
  sub="My Sub-title", col.sub="blue",
  xlab="My X label", ylab="My Y label",
  col.lab="green", cex.lab=0.75)

Anotaciones de texto

Se puede añadir texto a los gráficos utilizando las funciones text( ) y mtext( ). text( ) coloca el texto dentro del gráfico, mientras que mtext( ) coloca el texto en uno de los cuatro márgenes.

text(location, "text to place", pos, ...)
mtext("text to place", side, line=n, ...)

A continuación se describen las opciones más comunes.

opción descripción
ubicación La ubicación puede ser una coordenada x,y. Alternativamente, el texto puede colocarse interactivamente mediante el ratón, especificando ubicación como localizador(1).
pos posición relativa a la ubicación. 1=abajo, 2=izquierda, 3=arriba, 4=derecha. Si especificas pos , puedes especificar offset= en porcentaje de la anchura del carácter.
lateral en qué margen colocar el texto. 1=inferior, 2=izquierda, 3=superior, 4=derecha. puedes especificar line= para indicar la línea del margen empezando por 0 y desplazándote hacia fuera. también puedes especificar adj=0 para la alineación izquierda/inferior o adj=1 para la alineación superior/derecha.

Otras opciones habituales son cex, col y font (para el tamaño, el color y el estilo de letra, respectivamente).

Puntos de etiquetado

Puedes utilizar la función text( ) (ver más arriba) para etiquetar puntos, así como para añadir otras anotaciones de texto. Especifica la ubicación como un conjunto de coordenadas x, y y especifica el texto a colocar como un vector de etiquetas. Los vectores x, y y etiqueta deben tener todos la misma longitud.

# Example of labeling points
attach(mtcars)
plot(wt, mpg, main="Milage vs. Car Weight",
  xlab="Weight", ylab="Mileage", pch=18, col="blue")
text(wt, mpg, row.names(mtcars), cex=0.6, pos=4, col="red")

Puntos 2/público

Anotaciones matemáticas

Puedes añadir fórmulas matemáticas a un gráfico utilizando reglas similares a las de TEX. Consulta help(plotmath) para más detalles y ejemplos.

Ejes

Puedes crear ejes personalizados utilizando la función axis( ).

axis(side, at=, labels=, pos=, lty=, col=, las=, tck=, ...)

donde

opción descripción
lateral un número entero que indica el lado del gráfico donde dibujar el eje (1=inferior, 2=izquierdo, 3=superior, 4=derecho)
en un vector numérico que indica dónde deben dibujarse las marcas de tic
etiquetas un vector de caracteres de etiquetas que se colocarán en las marcas (si es NULL, se utilizarán los valores at )
pos la coordenada en la que debe trazarse la línea del eje. (es decir, el valor del otro eje donde se cruza)
lty tipo de línea
col el color de la línea y de la marca de graduación
las las etiquetas son paralelas (=0) o perpendiculares(=2) al eje
tck longitud de la marca de graduación como fracción de la región de trazado (un número negativo es fuera del gráfico, un número positivo es dentro, 0 suprime las graduaciones, 1 crea cuadrículas) por defecto es -0,01
(...) otros parámetros gráficos

Si vas a crear un eje personalizado, debes suprimir el eje generado automáticamente por tu función de trazado de alto nivel. La opción axes=FALSE suprime los ejes x e y. xaxt="n" y yaxt="n" suprimen los ejes x e y respectivamente. He aquí un ejemplo (algo exagerado).

# A Silly Axis Example

# specify the data
x <- c(1:10); y <- x; z <- 10/x

# create extra margin room on the right for an axis
par(mar=c(5, 4, 4, 8) + 0.1)

# plot x vs. y
plot(x, y,type="b", pch=21, col="red",
  yaxt="n", lty=3, xlab="", ylab="")

# add x vs. 1/x
lines(x, z, type="b", pch=22, col="blue", lty=2)

# draw an axis on the left
axis(2, at=x,labels=x, col.axis="red", las=2)

# draw an axis on the right, with smaller text and ticks
axis(4, at=z,labels=round(z,digits=2),
  col.axis="blue", las=2, cex.axis=0.7, tck=-.01)

# add a title for the right axis
mtext("y=1/x", side=4, line=3, cex.lab=1,las=2, col="blue")

# add a main title and bottom and left axis labels
title("An Example of Creative Axes", xlab="X values",
  ylab="Y=X")

Eje 689x689/público

Marcas menores

La función minor.tick( ) del paquete Hmisc añade marcas menores.

# Add minor tick marks
library(Hmisc)
minor.tick(nx=n, ny=n, tick.ratio=n)

nx es el número de marcas de graduación menores que se colocan entre las marcas de graduación mayores del eje x. ny hace lo mismo para el eje y. tick.ratio es el tamaño de la marca de graduación menor con respecto a la marca de graduación mayor. La longitud de la marca mayor se obtiene de par("tck").

Líneas de referencia

Añade líneas de referencia a un gráfico utilizando la función abline( ).

abline(h=yvalues, v=xvalues)

También se pueden especificar otros parámetros gráficos (como el tipo de línea, el color y la anchura) en la función abline( ).

# add solid horizontal lines at y=1,5,7
abline(h=c(1,5,7))
# add dashed blue verical lines at x = 1,3,5,7,9
abline(v=seq(1,10,2),lty=2,col="blue")

Nota: También puedes utilizar la función grid( ) para añadir líneas de referencia.

Leyenda

Añade una leyenda con la función legend().

legend(location, title, legend, ...)Common options are described below.
opción descripción
ubicación Hay varias formas de indicar la ubicación de la leyenda. Puedes dar una coordenada x,y para la esquina superior izquierda de la leyenda. Puedes utilizar localizador(1), en cuyo caso utilizarás el ratón para indicar la ubicación de la leyenda. También puedes utilizar las palabras clave "abajo", "abajo-izquierda", "izquierda", "arriba", "arriba-derecha", "derecha", "abajo-derecha" o "centro". Si utilizas una palabra clave, es posible que quieras utilizar inset= para especificar una cantidad para mover la leyenda dentro del gráfico (como fracción de la región del gráfico).
título Una cadena de caracteres para el título de la leyenda (opcional)
leyenda Un vector de caracteres con las etiquetas
... Otras opciones. Si la leyenda etiqueta líneas coloreadas, especifica col= y un vector de colores. Si la leyenda etiqueta símbolos puntuales, especifica pch= y un vector de símbolos puntuales. Si la leyenda etiqueta anchura o estilo de línea, utiliza lwd= o lty= y un vector de anchuras o estilos. Para crear cuadros de color para la leyenda (habitual en gráficos de barras, cajas o circulares), utiliza fill= y un vector de colores.

Otras opciones habituales de leyenda son bty para el tipo de caja, bg para el color de fondo, cex para el tamaño y text.col para el color del texto. Si configuras horiz=TRUE, la leyenda se ajustará horizontalmente en lugar de verticalmente.

# Legend Example
attach(mtcars)
boxplot(mpg~cyl, main="Milage by Car Weight",
  yaxt="n", xlab="Milage", horizontal=TRUE,
  col=terrain.colors(3))
legend("topright", inset=.05, title="Number of Cylinders",
  c("4","6","8"), fill=terrain.colors(3), horiz=TRUE)

Leyenda 689x689/pública

Para más información sobre las leyendas, consulta help(legend). Los ejemplos de la ayuda son especialmente informativos.

Practicar

Prueba gratis el primer capítulo de este curso online de visualización de datos en R.

Este contenido ha sido extraído de statmethods.net.

Aprende lo esencial de R

Domina los fundamentos del análisis de datos en R, incluyendo vectores, listas y marcos de datos, y practica R con conjuntos de datos reales.
Empieza a aprender R gratis