En graphics tenemos la función text y hoy nos vamos a divertir con esta función. Simplemente lo que hace es poner un texto en un gráfico. Lo más sencillo:

#Gráfico sin nada

plot(rep(10,10),rep(10,10),ann=FALSE,type="n",axes=FALSE)

#Ponemos un texto en el centro

text(10,10,"Ejemplo de uso de text")

En un gráfico sin nada escribimos, sólo indicamos la posición y el texto a escribir. Vamos añadiendo opciones:

#Gráfico sin nada

plot(rep(10,10),rep(10,10),ann=FALSE,type="n",axes=FALSE)

#Ponemos un texto en el centro

text(10,10,"Ejemplo de uso de text",srt=45,col=1,cex=3,

vfont=c("sans serif", "plain"))

Ahora modificamos la inclinación del texto con SRT , el color, el tamaño y con vfont la fuente. Podemos jugar con los colores del texto realizando un bucle for:

#Realizamos un bucle

for (i in 1:20){

#Gráfico sin nada

plot(rep(10,10),rep(10,10),ann=FALSE,type="n",axes=FALSE)

#Ponemos un texto en el centro

text(10,10,"Ejemplo de uso de text",srt=0,col=i,cex=2)

`Sys.sleep(0.1)}`

Y si recorremos un texto letra a letra entonces podemos hacer:

texto="Letra por letra";

for (i in 1:`nchar(texto)`){

letra=`substr(texto,i,i)`

`frase=substr(texto,1,i)`

#Gráfico sin nada

plot(rep(10,10),rep(10,10),ann=FALSE,type="n",axes=FALSE)

`text(11,11,letra,srt=0,col=i,cex=5)`

`text(10,8,frase,srt=0,cex=2)`

`Sys.sleep(0.1)}`

Estamos creando algo muy parecido a una animación… Continuamos:

for (i in 1:20){

#Gráfico sin nada

plot(rep(10,10),rep(10,10),ann=FALSE,type="n",axes=FALSE)

#Ponemos un texto en el centro

text(10,10.5,"Algo parecido",srt=0,col=i,`cex=3*i/20`)

text(10,9.5,"a una animación",srt=0,col=i,`cex=3*i/20`)

`Sys.sleep(0.01)}`

Otra vuelta de tuerca al tema:

#Realizamos un bucle

for (i in 1:360) {

plot(rep(10,10),rep(10,10),ann=FALSE,type="n",axes=FALSE)

text(10,10.5,"Algo parecido",`srt=-i`,col=`rainbow(360)`[i],`cex=3*i/360`)

text(10,9.5,"a una animación",srt=i,col=`rainbow(360)`[i],`cex=3*i/360`)

`Sys.sleep(0.01)}`

Códigos divertidos y sin mucha complicación. En breve espero poder hacer verdaderos gráficos dinámicos e interactivos en R. Saludos.