[R-es] ggplot con gradientes complejos

Emilio L. Cano em||opezc@no @end|ng |rom gm@||@com
Vie Sep 20 15:15:56 CEST 2019


Mucho más. Si solo es necesario usar dos colores y no gradación, la solución es trivial.
Es posible que lo del color central dificulte la visualización, tendría que tener datos para probarlo.

Saludos,
Emilio

> El 20 sept 2019, a las 10:48, Carlos Ortega <cof using qualityexcellence.es> escribió:
> 
> A mí sí que me parece más sencillo que editar el mapa... :-).
> 
> Gracias,
> Carlos.
> 
> El vie., 20 sept. 2019 a las 10:42, Manuel Mendoza (<mmendoza using fulbrightmail.org <mailto:mmendoza using fulbrightmail.org>>) escribió:
> No sé muy bien, Carlos, como hacerlo, pero no parece más sencillo que lo de multiplicar por 2 los positivos y después editar el mapa.
> 
> De lo que decías, Emilio, de cambiar el color del punto central creo que haría más confusa la interpretación.
> 
> El vie., 20 sept. 2019 a las 10:33, Carlos Ortega (<cof using qualityexcellence.es <mailto:cof using qualityexcellence.es>>) escribió:
> Hola,
> 
> Una alternativa que suele funcionar es la de crear una columna adicional en tu dataframe que dé cuenta del color dependiendo de los valores del resto de las variables que tú decidas y utilizar este vector como valor para cada punto, en vez de dejar que sea la función "scale_colour_gradient" la que decida el color...
> 
> Gracias,
> Carlos.
> 
> El vie., 20 sept. 2019 a las 10:30, Manuel Mendoza (<mmendoza using fulbrightmail.org <mailto:mmendoza using fulbrightmail.org>>) escribió:
> 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 using gmail.com <mailto:emilopezcano using 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 <https://reprex.tidyverse.org/articles/articles/datapasta-reprex.html>)
> >
> > Un saludo,
> > Emilio
> >
> > > El 19 sept 2019, a las 18:34, Manuel Mendoza <mmendoza using fulbrightmail.org <mailto:mmendoza using 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 using r-project.org <mailto:R-help-es using r-project.org>
> > > https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>
> >
> >
> 
>         [[alternative HTML version deleted]]
> 
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org <mailto:R-help-es using r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>
> 
> 
> -- 
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es <http://www.qualityexcellence.es/>
> 
> -- 
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es <http://www.qualityexcellence.es/>

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es