En un gráfico de líneas, tenemos el valor del eje horizontal a través del cual se ordenará y conectará la línea utilizando los valores del eje vertical. Vamos a usar el paquete R ggplot2 que tiene varias capas.
Primero, debe instalar el paquete ggplot2 si no se instaló previamente en R Studio.
Función utilizada:
- geom_line los conecta en el orden de la variable en el eje horizontal (x).
Sintaxis:
geom_line(mapping=NULL, data=NULL, stat=”identidad”, position=”identidad”,…)
- geom_path conecta la observación en el mismo orden que en los datos
Sintaxis:
geom_path(mapping=NULL, data=NULL, stat=”identidad”, position=”identidad”,…)
Trazado de una sola línea
En esta sección, trataremos con un gráfico de una sola línea y también discutiremos varios atributos que ayudan a su apariencia.
Conjunto de datos en uso:
R
# Create data for chart val <-data.frame(course=c('DSA','C++','R','Python'), num=c(77,55,80,60)) head(val)
Producción:
Gráfica de línea básica
Para un gráfico de líneas simple, los datos se pasan aproximadamente a la función con algunos atributos requeridos.
Ejemplo:
R
library(ggplot2) # Create data for chart val <-data.frame(course=c('DSA','C++','R','Python'), num=c(77,55,80,60)) # Basic Line ggplot(data=val, aes(x=course, y=num, group=1)) + geom_line()+ geom_point()
Producción:
Línea de formato
- Tipo de línea
Para esto, se utiliza el tipo de línea de comandos . ggplot2 proporciona varios tipos de línea. Por ejemplo: punteado, dos guiones, guiones, etc. Este atributo se pasa con un valor obligatorio.
Ejemplo:
R
library(ggplot2) # Create data for chart val <-data.frame(course=c('DSA','C++','R','Python'), num=c(77,55,80,60)) # Format the line type ggplot(data=val, aes(x=course, y=num, group=1)) + geom_line(linetype = "dotted")+ geom_point()
Producción:
- Color de linea
Se usa el comando color y el color deseado se escribe entre comillas dobles [” “] dentro de geom_line().
Ejemplo:
R
library(ggplot2) # Create data for chart val <-data.frame(course=c('DSA','C++','R','Python'), num=c(77,55,80,60)) # Format the line color ggplot(data=val, aes(x=course, y=num, group=1)) + geom_line(color="green")+ geom_point()
Producción:
- Tamaño de línea
El tamaño de la línea se puede cambiar usando el comando size y proporcionando el valor del tamaño dentro de geom_line().
Ejemplo:
R
library(ggplot2) # Create data for chart val <-data.frame(course=c('DSA','C++','R','Python'), num=c(77,55,80,60)) # Format the line size ggplot(data=val, aes(x=course, y=num, group=1)) + geom_line(color="green",size=1.5)+ geom_point()
Producción:
Agregar título de gráfico, título de eje
Se puede usar ggtitle() con el título apropiado para agregar el título del gráfico y se pueden usar los laboratorios nuevamente con la entrada adecuada para agregar el título de los ejes.
Ejemplo:
R
library(ggplot2) # Create data for chart val <-data.frame(course=c('DSA','C++','R','Python'), num=c(77,55,80,60)) # Adding titles line<-ggplot(data=val, aes(x=course, y=num, group=1)) + geom_line(color="green",size=1.5)+ geom_point() line+ggtitle("Courses vs Students Enrolled in GeeksforGeeks")+ labs(x="Courses",y="Number of Students")
Producción:
Cambiar el tema
Use theme_theme_name() para agregar el tema. Hay muchos temas disponibles en la biblioteca R. Por ejemplo: oscuro, clásico, etc. Los valores se pueden proporcionar según se desee.
Ejemplo:
R
library(ggplot2) # Create data for chart val <-data.frame(course=c('DSA','C++','R','Python'), num=c(77,55,80,60)) # Adding titles line<-ggplot(data=val, aes(x=course, y=num, group=1)) + geom_line(color="green",size=1.5)+ geom_point() line+ggtitle("Courses vs Students Enrolled in GeeksforGeeks")+ labs(x="Courses",y="Number of Students")+ theme_dark()
Producción:
Agregando flecha
Para agregar una flecha en línea, se usa la biblioteca de cuadrículas . Luego, para agregar flechas, use la flecha ( ) para agregar una flecha. También es posible cambiar los parámetros en una flecha como ángulo, tipo, extremos.
Ejemplo:
R
library(ggplot2) library(grid) # Create data for chart val <-data.frame(course=c('DSA','C++','R','Python'), num=c(77,55,80,60)) # Adding an arrow ggplot(data=val, aes(x=course, y=num, group=1)) + geom_line(arrow=arrow())+ geom_point() # Adding closed arrow on both ends of the line arr=arrow(angle = 20, ends = "both", type = "closed") ggplot(data=val, aes(x=course, y=num, group=1)) + geom_line(arrow=arr)+ geom_point()
Producción:
Adición de etiquetas de datos
Use la etiqueta para obtener los valores en el eje y y nudge_y para colocar la etiqueta de datos.
Ejemplo:
R
library(ggplot2) # Create data for chart val <-data.frame(course=c('DSA','C++','R','Python'), num=c(77,55,80,60)) # Adding data label ggplot(data=val, aes(x=course, y=num, group=1, label=num)) + geom_line()+ geom_point()+ geom_text(nudge_y = 2)
Producción:
Eje de escala:
Use xlim( ) para cambiar la escala del eje x e ylim( ) para cambiar la escala del eje y y pasarles los valores apropiados.
Sintaxis:
xlim(mínimo,máximo)
ylim(mínimo,máximo)
Ejemplo:
R
library(ggplot2) # Create data for chart val <-data.frame(course=c('DSA','C++','R','Python'), num=c(77,55,80,60)) # Storing the line plot ln <-ggplot(data=val, aes(x=course, y=num, group=1)) + geom_line(color="green",size=2)+ geom_point() # y-axis limits ln+ylim(0,100)+ theme_dark()
Producción:
Trazado de líneas múltiples
Para graficar múltiples gráficos en uno, nada cambia, excepto que el atributo de grupo debe establecerse en el nombre de la columna sobre la base de la cual se dibujarán las diferentes líneas.
Ejemplo:
R
library(ggplot2) # Inserting data vacc <- data.frame(type=rep(c("Covishield", "Covaxin"), each=2), dose=rep(c("D1", "D2"),2), slots=c(33, 45, 66, 50)) # Plotting line with multiple groups ggplot(data=vacc, aes(x=dose, y=slots, group=type)) + geom_line(linetype="longdash", color="green", size=1.5)+ geom_point(color="red", size=5)+ theme_dark()
Producción:
También puede agregar títulos, títulos de ejes, etiquetas de datos en el diagrama de líneas anterior, como se explicó en la sección anterior.
Formateo de la trama:
- Usar tipos de línea separados basados en grupos
Para diferenciar las líneas cambiando el tipo de línea, proporcione el tipo de línea en geom_line() y la forma de la leyenda en geom_point().
Ejemplo:
R
library(ggplot) # Inserting data vacc <- data.frame(type=rep(c("Covishield", "Covaxin"), each=2), dose=rep(c("D1", "D2"),2), slots=c(33, 45, 66, 50)) # Changing the line type on the basis of groups ggplot(vacc, aes(x=dose, y=slots, group=type)) + geom_line(aes(linetype=type))+ geom_point()+ theme_classic() # Changing the line type on the basis of groups and also the shape of points ggplot(vacc, aes(x=dose, y=slots, group=type)) + geom_line(aes(linetype=type))+ geom_point(aes(shape=type))+ theme_classic()
Producción:
- Asignación de diferentes colores de línea sobre la base de grupos
El siguiente código controla automáticamente el color utilizando el nivel de la variable «tipo». Asignará colores separados a cada línea.
Ejemplo:
R
library(ggplot2) # Inserting data vacc <- data.frame(type=rep(c("Covishield", "Covaxin"), each=2), dose=rep(c("D1", "D2"),2), slots=c(33, 45, 66, 50)) # Change line color by group type of vaccine ln <-ggplot(vacc, aes(x=dose, y=slots, group=type)) + geom_line(aes(color=type))+ geom_point(aes(color=type))+ theme_classic() ln
Producción:
Para ingresar el color manualmente, puede usar:
- scale_color_brewer( ) : Utiliza diferentes paletas de colores del paquete RColorBrewer. Tiene varias paletas de colores.
- scale_color_manual( ) : Se utiliza para agregar manualmente colores discretos.
Ejemplo:
R
library(ggplot2) # Inserting data vacc <- data.frame(type=rep(c("Covishield", "Covaxin"), each=2), dose=rep(c("D1", "D2"),2), slots=c(33, 45, 66, 50)) # Change line color by group type of vaccine ln <-ggplot(vacc, aes(x=dose, y=slots, group=type)) + geom_line(aes(color=type))+ geom_point(aes(color=type))+ theme_classic() # Adding line colors using brewer color palette ln+scale_color_brewer(palette="Set2") # Adding line colors using color manual ln+scale_color_manual(values=c("green", "blue"))
Producción:
- Cambiar la posición de las leyendas
Para cambiar la posición de la leyenda, el atributo legen.position de la función del tema se pasa con el valor requerido.
Sintaxis:
tema(leyenda.posición=”pos”)
pos Puede ser superior, derecha, inferior, izquierda o ninguna
Ejemplo:
R
library(ggplot2) # Inserting data vacc <- data.frame(type=rep(c("Covishield", "Covaxin"), each=2), dose=rep(c("D1", "D2"),2), slots=c(33, 45, 66, 50)) # Change line color by group type of vaccine ln <-ggplot(vacc, aes(x=dose, y=slots, group=type)) + geom_line(aes(color=type))+ geom_point(aes(color=type))+ theme_classic() ln <- ln + scale_color_brewer(palette="Dark2")+ theme_classic() # Legend at top ln + theme(legend.position="top") # Legend at left ln + theme(legend.position="left") # Remove legend ln + theme(legend.position="none")
Producción:
Publicación traducida automáticamente
Artículo escrito por rishabhchakrabortygfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA