varias una tutorial superponer modificar los graficas grafica ggplot etiquetas español escala ejes como cambiar r ggplot2

una - superponer graficas en r



¿Cómo cambio el color de fondo de una gráfica hecha con ggplot2? (2)

Para cambiar el color de fondo del panel, use el siguiente código:

myplot + theme(panel.background = element_rect(fill = ''green'', colour = ''red''))

Para cambiar el color de la trama (pero no el color del panel), puede hacer:

myplot + theme(plot.background = element_rect(fill = ''green'', colour = ''red''))

Vea aquí para más detalles del tema Hoja de referencia rápida para leyendas, ejes y temas .

Por defecto, ggplot2 produce gráficos con fondo gris. ¿Cómo cambio el color del fondo de la trama?

Por ejemplo, una trama producida por el siguiente código:

library(ggplot2) myplot<-ggplot(data=data.frame(a=c(1,2,3), b=c(2,3,4)), aes(x=a, y=b)) + geom_line() myplot


Para evitar opts desaprobados y uso de theme_rect :

myplot + theme(panel.background = element_rect(fill=''green'', colour=''red''))

Para definir su propio tema personalizado, basado en theme_gray pero con algunos de sus cambios y algunos extras adicionales, incluido el control del color / tamaño de la cuadrícula (hay más opciones disponibles para jugar en ggplot2.org ):

theme_jack <- function (base_size = 12, base_family = "") { theme_gray(base_size = base_size, base_family = base_family) %+replace% theme( axis.text = element_text(colour = "white"), axis.title.x = element_text(colour = "pink", size=rel(3)), axis.title.y = element_text(colour = "blue", angle=45), panel.background = element_rect(fill="green"), panel.grid.minor.y = element_line(size=3), panel.grid.major = element_line(colour = "orange"), plot.background = element_rect(fill="red") ) }

Para hacer que su tema personalizado sea el predeterminado cuando se llama a ggplot en el futuro, sin enmascarar:

theme_set(theme_jack())

Si desea cambiar un elemento del tema actualmente configurado:

theme_update(plot.background = element_rect(fill="pink"), axis.title.x = element_text(colour = "red"))

Para almacenar el tema predeterminado actual como un objeto:

theme_pink <- theme_get()

Tenga en cuenta que theme_pink es una lista, mientras que theme_jack es una función. Entonces, para devolver el tema a theme_jack use theme_set(theme_jack()) mientras que para regresar a theme_pink use theme_set(theme_pink) .

Puede reemplazar theme_gray por theme_bw en la definición de theme_jack si lo prefiere. Para que su tema personalizado se asemeje a theme_bw pero con todas las líneas de la cuadrícula (x, y, mayor y menor) desactivadas:

theme_nogrid <- function (base_size = 12, base_family = "") { theme_bw(base_size = base_size, base_family = base_family) %+replace% theme( panel.grid = element_blank() ) }

Finalmente, un tema más radical útil al trazar choropleths u otros mapas en ggplot, basado en la discusión here pero actualizado para evitar la desaprobación. El objetivo aquí es eliminar el fondo gris y cualquier otra característica que pueda distraer del mapa.

theme_map <- function (base_size = 12, base_family = "") { theme_gray(base_size = base_size, base_family = base_family) %+replace% theme( axis.line=element_blank(), axis.text.x=element_blank(), axis.text.y=element_blank(), axis.ticks=element_blank(), axis.ticks.length=unit(0.3, "lines"), axis.ticks.margin=unit(0.5, "lines"), axis.title.x=element_blank(), axis.title.y=element_blank(), legend.background=element_rect(fill="white", colour=NA), legend.key=element_rect(colour="white"), legend.key.size=unit(1.2, "lines"), legend.position="right", legend.text=element_text(size=rel(0.8)), legend.title=element_text(size=rel(0.8), face="bold", hjust=0), panel.background=element_blank(), panel.border=element_blank(), panel.grid.major=element_blank(), panel.grid.minor=element_blank(), panel.margin=unit(0, "lines"), plot.background=element_blank(), plot.margin=unit(c(1, 1, 0.5, 0.5), "lines"), plot.title=element_text(size=rel(1.2)), strip.background=element_rect(fill="grey90", colour="grey50"), strip.text.x=element_text(size=rel(0.8)), strip.text.y=element_text(size=rel(0.8), angle=-90) ) }