xlabel tag comando matlab matlab-figure matlab-hg2

tag - title subplot matlab



Redibuje una figura guardada en 2013b en 2014b (1)

Como MATLAB ha cambiado su motor de figuras en R2014b, decidí volver a ejecutar parte de mi código para obtener figuras con mejor aspecto. Desafortunadamente, el último que tengo es un código que tarda años en ejecutarse, y me gustaría evitar encarecidamente volver a ejecutar el código para obtener una figura más agradable.

.fig el resultado en un archivo .fig en R2013b. Sin embargo, si lo abro en R2014b, todavía tiene el formato antiguo.

¿Es posible volver a dibujar la figura utilizando el motor de trazado MATLAB R2014b? Si es así, ¿cómo podría hacerlo?

NOTA: Literalmente, la figura se abre y se dibuja con el nuevo motor, sin embargo, conserva su formato antiguo. Si bien una nueva figura con un comando de title() trazaría un buen título grande y en negrita, si un nuevo dibujo de esta figura usando "drawow" o genero código para él, el formato sigue siendo el mismo.

Ejemplo: esta figura se creó en 2013b y se volvió a dibujar en 2014b. Puede ver que el título no se traza en el mismo formato que un title(''whatever'') se trazaría en los nuevos controladores gráficos. Parece que un ''.fig'' guarda y establece los valores predeterminados para la versión que se ha generado. Por lo tanto, los colores, títulos, etiquetas, etc. de la trama se parecerán a los controladores gráficos antiguos cuando se redibujen.

Esto se puede probar con el siguiente código. Tenga en cuenta que este es un problema demasiado simplificado, la pregunta no es explícitamente acerca de los títulos o las etiquetas, sino de todas las cosas gráficas en general.

rng(1) figure() x = 1:50; y = rand(1, 50); plot(x,y) title(''this NICE Title'') xlabel(''labels!'') ylabel(''some other labels'',''Interpreter'',''Latex'')

Si este código se ejecuta en 2013b y 2014b, se guarda como higo en ambos y luego se abre como higo en ambos, aparecen las siguientes 2 figuras:

El archivo fig 2013b: http://s000.tinyupload.com/index.php?file_id=02053933004513599550


Hay una forma indirecta de hacer esto, simplemente usando hgopen para cargar la figura y luego extraer los datos para volver a trazarlos en 2014b:

h1=hgopen(''test.fig''); % h1 = handle to the figure allaxes=get(h1,''children''); % allaxes = array with axes handles for a=1:length(allaxes) ax=allaxes(a); allines=get(ax,''children''); % all lines in current axes for l=1:length(allines) lin=allines(l); values=get(lin,''ydata''); % values of the current line subplots{a}{l}=values; end end

Luego, puede usar la matriz de celdas de subplots para hacer los gráficos nuevamente a mano. Es una forma aburrida de hacerlo, pero puede valer la pena intentarlo si volver a generar la salida lleva mucho tiempo.