Txell Batalla
2012-Dec-07 10:39 UTC
[R-es] problemas con la paleta de colores de mapas (spplot)
Buenos dias, Os escribo para ver si me podeis ayudar con la composición de unos mapas que tengo que generar automàticament cada mes. He utilizado la función spplot y parto de un mapa en formato raster al que he llamado "anom" y una capa vectorial shape llamada "limits". Mi problema es que necesito establecer un minimo y maximo igual a todos los mapas raster, por ejemplo, de -100 a 100. Cada mapa, pero, presenta minimos y maximos diferentes. Aunque cambie el minimo y el maximo en el raster con anom@data@min <- -100 anom@data@max <- 100, esto no funciona ya que al hacer el plot, este mira los valores del raster y no sus metadatos. Lo que he echo de momento es el siguiente: # Genero la paleta del mapa pal_temp <- colorRampPalette(c(rgb(0.2,0,1),"white", rgb(1,0,0)), space = "rgb") # Escala gráfica y flecha arrow = list("SpatialPolygonsRescale", layout.north.arrow(), offset c(555000,11000), scale = 2500) escala = list("SpatialPolygonsRescale", layout.scale.bar(), offset c(521000,11000), scale = 5000, fill=c("transparent","black")) text1 = list("sp.text", c(521000,12000), "0") text2 = list("sp.text", c(526000,12000), "5000 m") # Mapa spplot(anom, main="Anomalia de la temperatura mitjana de les mínimes d''agost del 2010", cex.main=1, col.regions=pal_temp, sp.layout=list(list("sp.lines","limit"),arrow,escala,text1,text2), colorkey = list(at = c(-100,-80,-60,-40,-20,0,20,40,60,80,100), labels = c("-10","-8","-6","-4","-2","0","2","4","6","8","10"), space="right")) Aunque con colorkey haya establecido una leyenda con los valores y colores que quisiera, de -100 a 100, los colores en el mapa no corresponden a los de la leyenda, ya que el mapa coge el minimo y maximo del mapa, en un caso por ejemplo de -20 a 80, y me establece la paleta del mapa de -20 a 80. Alguna idea de como podria hacerlo?? Muchas Gracias! -- *Txell ** * [[alternative HTML version deleted]]
Oscar Perpiñan
2012-Dec-07 16:09 UTC
[R-es] problemas con la paleta de colores de mapas (spplot)
Hola, Si no me equivoco, estás usando el paquete raster y el método spplot para objetos Raster*. Te propongo lo siguiente: - Calcula el rango del conjunto de mapas (con minValue, maxValue, etc.) Supongamos que es, como dices en tu correo, -100 y 100 rng <- c(-100, 100) - Produces un conjunto de cortes (por ejemplo, 15) iguales para todos los mapas: my.at <- pretty(rng, 15) - Le pasas este conjunto de cortes a todos los spplot que ejecutes: spplot(anom, col.regions=pal_temp, at=my.at, ...) Saludos. Oscar. El 7 de diciembre de 2012 11:39, Txell Batalla <mbatallamercade@gmail.com>escribió:> Buenos dias, > > Os escribo para ver si me podeis ayudar con la composición de unos mapas > que tengo que generar automàticament cada mes. > > He utilizado la función spplot y parto de un mapa en formato raster al que > he llamado "anom" y una capa vectorial shape llamada "limits". Mi problema > es que necesito establecer un minimo y maximo igual a todos los mapas > raster, por ejemplo, de -100 a 100. Cada mapa, pero, presenta minimos y > maximos diferentes. Aunque cambie el minimo y el maximo en el raster con > anom@data@min <- -100 > anom@data@max <- 100, > esto no funciona ya que al hacer el plot, este mira los valores del raster > y no sus metadatos. > > Lo que he echo de momento es el siguiente: > # Genero la paleta del mapa > pal_temp <- colorRampPalette(c(rgb(0.2,0,1),"white", rgb(1,0,0)), space > = "rgb") > > # Escala gráfica y flecha > arrow = list("SpatialPolygonsRescale", layout.north.arrow(), offset > c(555000,11000), > scale = 2500) > escala = list("SpatialPolygonsRescale", layout.scale.bar(), offset > c(521000,11000), > scale = 5000, fill=c("transparent","black")) > text1 = list("sp.text", c(521000,12000), "0") > text2 = list("sp.text", c(526000,12000), "5000 m") > > # Mapa > spplot(anom, main="Anomalia de la temperatura mitjana de les mínimes > d''agost del 2010", > cex.main=1, col.regions=pal_temp, > sp.layout=list(list("sp.lines","limit"),arrow,escala,text1,text2), > colorkey = list(at = c(-100,-80,-60,-40,-20,0,20,40,60,80,100), labels > = c("-10","-8","-6","-4","-2","0","2","4","6","8","10"), space="right")) > > Aunque con colorkey haya establecido una leyenda con los valores y colores > que quisiera, de -100 a 100, los colores en el mapa no corresponden a los > de la leyenda, ya que el mapa coge el minimo y maximo del mapa, en un caso > por ejemplo de -20 a 80, y me establece la paleta del mapa de -20 a 80. > > Alguna idea de como podria hacerlo?? > > Muchas Gracias! > > -- > *Txell > ** > * > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Hola colegas: Estoy intentando conectar MatLab con R como dice en: http://neurochannels.blogspot.com/2010/05/how-to-run-r-code-in-matlab.html Y me da este error en MatLab Error using openR (line 68) Cannot connect to R. Error using COM.StatConnectorSrv_StatConnector/Init Error: Object returned error code: 0x80040013 La instalación del R(D)COM Server tiene un test básico para probar la conexión con R que me da este error: Loadign statconnector server...done Initializing R... function call failed code: -2147221485 text: installation problem: unable to load connector Existe alguna solución a este problema: Un Saludos, Leonardo ------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20121207/4a3774e6/attachment.pl>
Estimado Leonardo Pérez De solo curioso observo en http://www.mathworks.com/matlabcentral/fileexchange/5051 algunos errores o problemas al respecto. Posiblemente el error es de Matlab, algo que suele suceder, aunque no se si es el caso, algunos programas buscan en R ..., pero solo en ciertas versiones de R siendo incompatibles con otras, por lo menos a mi me paso que un software no utilizaba R actualizado .... Javier Marcuzzi -----Mensaje original----- From: Leonardo Hernández Pérez Sent: Friday, December 07, 2012 4:14 PM To: r-help-es en r-project.org Subject: [R-es] Problemas al enlazar R con Matlab Hola colegas: Estoy intentando conectar MatLab con R como dice en: http://neurochannels.blogspot.com/2010/05/how-to-run-r-code-in-matlab.html Y me da este error en MatLab Error using openR (line 68) Cannot connect to R. Error using COM.StatConnectorSrv_StatConnector/Init Error: Object returned error code: 0x80040013 La instalación del R(D)COM Server tiene un test básico para probar la conexión con R que me da este error: Loadign statconnector server...done Initializing R... function call failed code: -2147221485 text: installation problem: unable to load connector Existe alguna solución a este problema: Un Saludos, Leonardo --- This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at host imx3.etecsa.cu Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com> _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es