[R-es] ggplot con gradientes complejos

Carlos Ortega co| @end|ng |rom qu@||tyexce||ence@e@
Vie Sep 20 10:32:16 CEST 2019


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>) 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
> >)
> 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 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
> > > 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
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



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