En este post vas a aprender a hacer gráficos estadísticos con R.
En este pequeño paquete de tutoriales que voy a ir publicando, se incluye la creación de distintos gráficos básicos en R:
- Gráficos lineales o gráficos de líneas en R.
- Gráficos de barras (gráficos de barras horizontales, gráficos de barras verticales).
- Gráficos circulares, gráficos de sectores o gráficos tipo tarta (pie charts).
Contenidos
¿Cómo hacer un gráfico de columnas en R?
Y en particular, en el post de hoy, vamos a ver cómo hacer un gráfico de BARRAS o COLUMNAS en R, o lo que es lo mismo, vamos a ver cómo usar la función barplot en R.
Estoy seguro de que sí has llegado hasta aquí, es porque te interesa la Estadística y quieres aprender R. Sí quieres, te puedo avisar por correo electrónico cada vez que publique algo nuevo en la web (tutoriales, artículos de curiosidades, cursos de R gratuitos):
Antes de nada, recordarte que este artículo es de tipo práctico, por lo que aquí solamente hablaremos de la elaboración de los gráficos en R, no veremos los conceptos básicos sobre los gráficos.
# Vamos a crear dos variables para la representación
animales <- c('perro', 'gato','tortuga','pájaro')
numero <- c(10,5,3,8)
¿Cómo se usa la función BARPLOT de R?
Y ahora vamos a utilizar la función barplot de R para hacer la representación de esos datos.
barplot(height=numero, names=animales)
Por supuesto, este tipo de gráficos también permite personalizarlo para cambiar su aspecto visual. Por ejemplo, podemos cambiar el color de las barras, añadir nombre a los ejes o ponerle un título al gráfico.
Cambiar color gráficos en R
# Cambiar color de todas las barras
barplot(height=numero, names=animales, col='red')
barplot(height=numero, names=animales, col='black')
# Un color para cada barra
barplot(height=numero, names=animales,
col=c('red','black','green','blue'))
# Cambiar color bordes
barplot(height=numero, names=animales,
border='black', col='white')




Otras formas de personalizar gráficos en R
Como os decía antes, podemos personalizar el gráfico todo lo que queramos, añadiendo un título al gráfico y cambiando el nombre de los ejes:
barplot(height=numero, names=animales,
xlab="Animal",
ylab="Personas que tienen este animal",
main="Los animales más populares")

Otra opción que puede resultar muy útil para representar los datos en nuestro gráfico de barras es cambiar los límites de los ejes de nuestro gráfico:
barplot(height=numero, names=animales, ylim= c(0,14))

Todos los gráficos anteriores estaban en vertical, sin embargo, es muy sencillo poner un gráfico barplot en horizontal, solo tenemos que añadir “horiz=1” (para girar las barras) acompañado de “las=1” (para girar los nombres):
barplot(height=numero, names=animales, horiz=1, las=1)

Por último, también podemos modificar el ancho y la separación de las barras del gráfico en R. Para cambiar la separación entre las barras utilizamos space, seguido de la separación que queremos darle a las columnas:
barplot(height=numero, names=animales, space=0)
barplot(height=numero, names=animales, space=0.25)
barplot(height=numero, names=animales, space=1)
barplot(height=numero, names=animales, space=3)




Y para cambiar el ancho de las barras, utilizamos la función width, aunque en este caso debes tener en cuenta que para que los anchos sean “visibles”, deberán ser distintos entre cada uno de las barras:
barplot(height=numero, names=animales,
width=c(0.1,0.2,0.3,0.4))
barplot(height=numero, names=animales,
width=c(3,1,1,1))


Por supuesto, podemos utilizar todo lo anterior combinado para conseguir un gráfico personalizado:
barplot(height=numero, names=animales,
border='red', col='white',
xlab="Animal",
ylab="Personas que tienen este animal",
main="Los animales más populares",
space=0,
width=c(3,1,1,1))

Oreste Bruno dice
Tengo que agradecerte esta lección, por lo sencillo y fácil que me ha resultado hacer un gráfico de barras, inclusive probé con una columna más. Hasta ayer no sabía como hacerlo, me tenía que limitar a datos no agrupados, convertidos primero a factor, luego a tabla y finalmente a barras. Un abrazo grande.
Javier dice
Gracias de nuevo por compartirlo conmigo Oreste!! Un abrazo! Y a seguir aprendiendo!!!
Nelson dice
Excelente, gracias
Sofia dice
Hola
Te quería consultar si existe manera de cambiar los nombres del eje x a forma diagonal, se que con “las ” cambia orientación pero no diagonal. Hay forma de hacerlo?
Bethy Montes dice
Gracias por la sencillez de la explicación. Felicidades
Anónimo dice
¿Como hago las etiquetas de datos utilizando barplot?
Juan David Severiche Pineda dice
excelente trabajo, muy buenas explicaciones. Gracias.
Susana Martinez dice
hola sera posible por ejemplo los datos del eje y aplicarles un formato de pesos?