Foro de debate

Dibujar matriz temperatura.

Dibujar matriz temperatura.

by Yurena Hernández -
Number of replies: 10


Hola, tengo un archivo NetCDF (extensión .nc) donde se recogen datos de temperatura y donde la longitud viene de 0 a 360.

Usando la librería "raster" he conseguido representar el Índico y Pacífico. Pero el problema aparece al representar el Atlántico puesto que la longitud a tomar va de 250 a 40 (o lo que es lo mismo, de 250 a 360 y de 0 a 40).
He intentado con varias siguientes síntasis, pero no consigo el resultado deseado.
Me pareció que esta síntesis era la más cuerda, es decir, sumar 40 a 360, pero sólo me plotea hasta 360. Cosa lógica ya que los datos sólo llegan a 360.
plot(variable,col=rainbow(1000),main="Sea Surface Temperature (Atlantic Ocean)",xlab="Longitude",ylab="Latitude",xlim=c(250,400),ylim=c(-90,90),asp=0)

Otra opción que he pensado es crear antes una matriz extrayendo los datos del Atlántico y luego representarla. Pero parece que la función plot no sirve para dibujar estos mapas y con la función image me cambia las unidades de los ejes y voltea el dibujo.

Alguien me podría ayudar de alguna forma?. Ya sea con la síntasis de plot o con otra que me muestre los valores de longitud y latitud sin modificar?.

In reply to Yurena Hernández

Re: Dibujar matriz temperatura.

by Yurena Hernández -

Continúo con el problema. He encontrado otra síntesis:

EEste=extent(0,40,-90,90)   # defino la extensión del Atl Este
EOeste=extent(250,360,-90,90)   # defino la extensión del Atl Oeste
AtlEste=crop(variable,EEste)   # recorto el objeto raster "variable" a la extensión definida para el Atl Este.
AtlOeste=crop(variable,EOeste)   # recorto el objeto raster "variable" a la extensión definida para el Atl Oeste.
Atl=merge(AtlOeste, AtlEste)   # uno ambas zonas del Atlántico
plot(Atl,asp=0)   # dibujo Atl

Pero no sé cómo quitar el espacio que hay en medio.
Os adjunto la imagen.

Temperatura Superfial del Atlántico

In reply to Yurena Hernández

Re: Dibujar matriz temperatura.

by Manuel Muñoz Márquez -

Buenas Yurena:

No tengo disponible el paquete que usas ni los datos. Pero, ¿has probado a poner en plot xlim=c(250,360)?

Saludos.

In reply to Manuel Muñoz Márquez

Re: Dibujar matriz temperatura.

by carlos isasmendi -
lee los datos que ingresas capaz que tiene faltantes. proba cambiar las escala..o saca los datos de la parte en blanco y proba por partes cada 100. para mi se quedo sin datos
In reply to carlos isasmendi

Re: Dibujar matriz temperatura.

by Yurena Hernández -

Hola CARLOS ISASMENDI:

No se ha quedado sin datos, sólo he delimitado el Atlántico.

El problema es que no sé como hacer para que me salgan unidos ambos trozos. Si te das cuenta el trozo de la derecha corresponde al Atlántico Oeste y la de la izquierda al Atlántico Esta. Pues bien, si 360 = 0. lo que quiero es que el trozo del Atlántico Este (0 a 40) salga consecutivo al trozo del Atlántico Oeste (250 a 360). Es decir, obtener una única figura que vaya de 250 a 40.

Le adjunto la foto de todo el mundo:

In reply to Manuel Muñoz Márquez

Re: Dibujar matriz temperatura.

by Yurena Hernández -

Hola MANUEL MUÑOZ MÁRQUEZ:

Esta solución sólo me dibujaría el lado Oeste del Atlántico, es decir, la parte derecha de la figura y lo que intento conseguir es que la zona de 0 a 40 se adjunte a la 250 a 360 pero por el otro lado. Es decir, si 360=0, pues dibujar un único plot que vaya de 250 a 40.

De todas formas, gracias por tu aporte.

In reply to Yurena Hernández

Re: Dibujar matriz temperatura.

by Manuel Muñoz Márquez -

Hola:

Si fuera una gráfica estándar lo que yo haría sería remapear el intervalo 0-40 al 360-400 y de esa forma saldría contiguo. Luego ajustaría manualmente las etiquetas.

Desconozco si con los gráficos que estás usando se puede.

Saludos.

In reply to Manuel Muñoz Márquez

Re: Dibujar matriz temperatura.

by Yurena Hernández -

Hola MANUEL,

eso ya lo intenté y no dió resultado. En estos archivos la longitud sólo llega hasta 360. si pongo 400 sólo me dibujará hasta 360.

De todas formas, muchas gracias por tu apoyo.

In reply to Yurena Hernández

Re: Dibujar matriz temperatura.

by sao bi -
lo dibujaste con una wacom o algo por el estilo?  Creo que lo mejor para estos casos de dibujo es tener una tablet digitalizadora con un lápiz digital. Yo tengo el Tableta gráfica XP-Pen Star G640 pro con el Lápiz y es una maravilla.