Finalmente, desea obtener el siguiente resultado:
Inicialmente se hace un gráfico de barras simple, utilizando los datos de seguros establecidos en el paquete MASS.
library(MASS) library(lattice) ## Plot the claims frequency against age group by engine size and district barchart(Claims/Holders ~ Age | Group, groups=District, data=Insurance, origin=0, auto.key=TRUE)
Para cambiar la leyenda se especifica una lista con las diferentes opciones de auto.key. Aquí se fijan los elementos de la leyenda junto a la otra, se añade un título para la leyenda y se cambia el tamaño del fuente:
barchart(Claims/Holders ~ Age | Group, groups=District, data=Insurance, main="Claims frequency", auto.key=list(space="top", columns=4, title="District", cex.title=1))
Finalmente, usar una función de panel propia, pero cuando se hace la leyenda se muestran los puntos de forma predeterminada. Así que, ¿cómo puedo cambiar esto? En el siguiente paso es crear un gráfico de línea y especificar la leyenda para mostrar líneas en lugar de los puntos predeterminados:
xyplot(Claims/Holders ~ Age | Group, groups=District, data=Insurance, t="l", main="Claims frequency", auto.key=list(space="top", columns=4, title="District", cex.title=1, lines=TRUE, points=FALSE))
Ahora es interesante cambiar los colores. Es fácil cambiar la configuración de color de gráficos en Lattice cambiando los parámetros por defecto en lugar de juguetear con los parámetros de color en las funciones Lattice en sí. Este enfoque también garantiza que los colores de la leyenda se alinearán automáticamente con los colores de los gráficos. Luego la configuración por defecto en Lattice es:
show.settings()
Vamos a cambiar los colores de una de las paletas RColorBrewer.
library(RColorBrewer) display.brewer.all()
Usamos los azules, así que para el gráfico de barras cambiamos el polígono , el borde y el fondo:
myColours <- brewer.pal(6,"Blues") my.settings <- list( superpose.polygon=list(col=myColours[2:5], border="transparent"), strip.background=list(col=myColours[6]), strip.border=list(col="black") )Una lista completa de todos los parámetros es retornada por la función trellis.par.get (). Se pueden cambiar los ajustes por defecto a través trellis.par.set (My.Settings) a nivel mundial, pero se recomienda usar el argumento par.settings en la función de Lattice para cambiarlo localmente. Ahora unimos todo, cambié la configuración de color y leyendas en la siguiente declaración, de una manera similar a la anterior para el gráfico de linea.
barchart(Claims/Holders*100 ~ Age | Group, groups=District, data=Insurance, origin=0, main="Motor insurance claims frequency", xlab="Age", ylab="Claims frequency %", scales=list(alternating=1), auto.key=list(space="top", columns=4, points=FALSE, rectangles=TRUE, title="District", cex.title=1), par.settings = my.settings, par.strip.text=list(col="white", font=2), panel=function(x,y,...){ panel.grid(h=-1, v=0); panel.barchart(x,y,...) } )
Fuente Original: http://lamages.blogspot.com/2012/12/changing-colours-and-legends-in-lattice.html#more
No hay comentarios :
Publicar un comentario