Lo que he aprendido: extraer datos de una figura fig en Matlab

Vuelta al curro y vuelta a las entradas técnicas del blog. Esta vez el problema consiste en extraer los datos de una figura de Matlab, de las que tienen extensión fig, para graficar los datos de otra manera. Podría volver a cargar los datos y pintar diferente, sí, pero en este caso el gráfico se hizo leyendo diferentes archivos y añadiendo puntos al gráfico sobre la marcha, así que cargar todos los datos, tratarlos y tal es mucho más lío.

Bien, la primera pista para ello la encontré aquí y la segunda aquí. Lo único que tenemos que saber es que para Matlab los gráficos son objetos que a su vez contienen otros objetos hijos. Los datos, por ejemplo, son hijos de los ejes (objeto axes). Lo tenéis mucho mejor explicado en el enlace de abajo.

Por lo tanto para extraer los datos tendríamos que hacer algo del estilo de esto:

% Cargar la figura sin que se muestre 

openfig('figura.fig','invisible');

% Acceder a los objetos hijos del los ejes actuales (current axes)

D = get(gca,'Children');

% Los datos están dentro de los ejes en XData, YData y ZData

XData = get(D,'XData'); 
YData = get(D,'YData'); 
ZData = get(D,'ZData'); 

Es un truquillo rápido, pero espero que os resulte útil 😀

Más

Sobre objetos y gráficos

Anuncios

Un pensamiento en “Lo que he aprendido: extraer datos de una figura fig en Matlab

  1. Pingback: El 2016 | Onda Hostil

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s