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))Con la tecnología de
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")Con la tecnología de
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)Con la tecnología de
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,...)Con la tecnología de
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")Con la tecnología de
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( ).
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
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")Con la tecnología de
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)Con la tecnología de
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( ).
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")Con la tecnología de
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.Con la tecnología de
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)Con la tecnología de
Para más información sobre las leyendas, consulta help(legend). Los ejemplos de la ayuda son especialmente informativos.
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:
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.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( ).Anotaciones de texto
Se puede añadir texto a los gráficos utilizando las funciones
text( )ymtext( ).text( )coloca el texto dentro del gráfico, mientras quemtext( )coloca el texto en uno de los cuatro márgenes.A continuación se describen las opciones más comunes.
Otras opciones habituales son
cex,colyfont(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.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( ).donde
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=FALSEsuprime los ejes x e y.xaxt="n"yyaxt="n"suprimen los ejes x e y respectivamente. He aquí un ejemplo (algo exagerado).Marcas menores
La función
minor.tick( )del paquete Hmisc añade marcas menores.nxes el número de marcas de graduación menores que se colocan entre las marcas de graduación mayores del eje x.nyhace lo mismo para el eje y.tick.ratioes 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 depar("tck").Líneas de referencia
Añade líneas de referencia a un gráfico utilizando la función
abline( ).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( ).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().Otras opciones habituales de leyenda son
btypara el tipo de caja,bgpara el color de fondo,cexpara el tamaño ytext.colpara el color del texto. Si configurashoriz=TRUE, la leyenda se ajustará horizontalmente en lugar de verticalmente.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.