Muy buenas. Quiero hacer un mapa que me pinte en azul los valores negativos y en rojo los positivos. Los negativos llegan hasta -400 y los positivos hasta 200. Si pongo limits=c(-200, 200), me colorea bien los positivos (rojo), pero los negativos por debajo de -200 me los pone gris. Si pongo limits=c(-400, 200), me colorea bien los negativos (azul), pero los positivos apenas se ven. Necesito que me pinte los azules como el primero, y los azules como el segundo. Gracias Este es el código: ggplot(legend=FALSE)+ theme(panel.background=element_blank())+ theme(panel.grid.major = element_blank())+ theme(panel.grid.minor = element_blank())+ theme(axis.text.x=element_blank(),axis.text.y=element_blank())+ theme(axis.ticks = element_blank()) + xlab("") + ylab("")+ geom_point(data=SGData2,aes(x=lon,y=lat,color=Ch7085),shape=15,size=1.5) + * scale_colour_gradient2(limits=c(-400, 200),low "blue",high="red",midpoint=0*, guide="colourbar")+geom_path(data=world, aes(x=long, y=lat,group=group))+ labs(title = "ch7085") [[alternative HTML version deleted]]
Hola Manuel, Ten en cuenta que la intensidad del color depende de la escala de la variable. Limits = c(-200, 200) pone los que hay fuera con el color NA por defecto (gris). No estoy seguro pero creo que si los positivos no se distingue el color es porque es ?casi blanco?, supongo que debido a que los datos son muy asimétricos y los valores por debajo de -200 son muy grandes en valor absoluto con respecto a los que hay por encima de 200. Y por definición, es una escala de color que depende de la magnitud de la variable. Tal vez puedas mejorar la visualización cambiando el color del punto central (argumento ?mid?), en vez de blanco, por algún tono de rojo intermedio. Si esto no lo soluciona intenta pegar el ejemplo con un subconjunto de datos con el que se pueda reproducir (es fácil con datapasta+reprex: https://reprex.tidyverse.org/articles/articles/datapasta-reprex.html) Un saludo, Emilio> El 19 sept 2019, a las 18:34, Manuel Mendoza <mmendoza en fulbrightmail.org> escribió: > > Muy buenas. Quiero hacer un mapa que me pinte en azul los valores negativos > y en rojo los positivos. Los negativos llegan hasta -400 y los positivos > hasta 200. Si pongo limits=c(-200, 200), me colorea bien los positivos > (rojo), pero los negativos por debajo de -200 me los pone gris. Si pongo > limits=c(-400, 200), me colorea bien los negativos (azul), pero los > positivos apenas se ven. Necesito que me pinte los azules como el primero, > y los azules como el segundo. > Gracias > > Este es el código: > ggplot(legend=FALSE)+ > theme(panel.background=element_blank())+ > theme(panel.grid.major = element_blank())+ > theme(panel.grid.minor = element_blank())+ > > theme(axis.text.x=element_blank(),axis.text.y=element_blank())+ > theme(axis.ticks = element_blank()) + xlab("") + ylab("")+ > > geom_point(data=SGData2,aes(x=lon,y=lat,color=Ch7085),shape=15,size=1.5) + > * scale_colour_gradient2(limits=c(-400, 200),low > "blue",high="red",midpoint=0*, > guide="colourbar")+geom_path(data=world, aes(x=long, > y=lat,group=group))+ > labs(title = "ch7085") > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
Gracias Emilio. Si, son asimétricos porque se mueven en rangos distintos. De hecho, miden cosas distintas, pero una muestra no puede ser positiva y negativa a la vez. Me planteo multiplicar las positivas por 2 y al editar el mapa corregirlo para que indique los valores reales. Eso funcionaría, pero son muchos mapas y quizás haya una función en ggplot que evite el problema directamente. Manuel El vie., 20 sept. 2019 a las 7:38, Emilio L. Cano (<emilopezcano en gmail.com>) escribió:> Hola Manuel, > > Ten en cuenta que la intensidad del color depende de la escala de la > variable. Limits = c(-200, 200) pone los que hay fuera con el color NA por > defecto (gris). No estoy seguro pero creo que si los positivos no se > distingue el color es porque es ?casi blanco?, supongo que debido a que los > datos son muy asimétricos y los valores por debajo de -200 son muy grandes > en valor absoluto con respecto a los que hay por encima de 200. Y por > definición, es una escala de color que depende de la magnitud de la > variable. > > Tal vez puedas mejorar la visualización cambiando el color del punto > central (argumento ?mid?), en vez de blanco, por algún tono de rojo > intermedio. > > Si esto no lo soluciona intenta pegar el ejemplo con un subconjunto de > datos con el que se pueda reproducir (es fácil con datapasta+reprex: > https://reprex.tidyverse.org/articles/articles/datapasta-reprex.html) > > Un saludo, > Emilio > > > El 19 sept 2019, a las 18:34, Manuel Mendoza <mmendoza en fulbrightmail.org> > escribió: > > > > Muy buenas. Quiero hacer un mapa que me pinte en azul los valores > negativos > > y en rojo los positivos. Los negativos llegan hasta -400 y los positivos > > hasta 200. Si pongo limits=c(-200, 200), me colorea bien los positivos > > (rojo), pero los negativos por debajo de -200 me los pone gris. Si pongo > > limits=c(-400, 200), me colorea bien los negativos (azul), pero los > > positivos apenas se ven. Necesito que me pinte los azules como el > primero, > > y los azules como el segundo. > > Gracias > > > > Este es el código: > > ggplot(legend=FALSE)+ > > theme(panel.background=element_blank())+ > > theme(panel.grid.major = element_blank())+ > > theme(panel.grid.minor = element_blank())+ > > > > theme(axis.text.x=element_blank(),axis.text.y=element_blank())+ > > theme(axis.ticks = element_blank()) + xlab("") + ylab("")+ > > > > geom_point(data=SGData2,aes(x=lon,y=lat,color=Ch7085),shape=15,size=1.5) > + > > * scale_colour_gradient2(limits=c(-400, 200),low > > "blue",high="red",midpoint=0*, > > guide="colourbar")+geom_path(data=world, aes(x=long, > > y=lat,group=group))+ > > labs(title = "ch7085") > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]