Explicación del código.

Explicación del código.

Estoy haciendo algunos gráficos en Matlab 2014b, en uno de ellos estoy trazando 5 variables versus el tiempo allí y quiero especificar 5 nombres como velocidad (rad/seg), voltaje (V), ... etc. Etiqueta y, sin embargo, como puede ver en la imagen, estoy obteniendo un espacio extra suave a la izquierda y estoy luchando por eliminarlo.Figura de muestra

Aquí hay un código de trabajo, solo para explicar la situación:

clear all; clc; close all;
x = rand(8,1);
y = rand(8,1);

figure
plot(x,y)
xlabel('time (s)')
ylabel('$x$ (m), $\theta$ (rad), $\dot{x}$ (m/s),$\dot{\theta}$ (rad/s), $\dot{S}_{gen}$(W/K)','Interpreter', 'latex','fontsize',10)
grid

Cualquier sugerencia es muy apreciada de antemano.

Respuesta1

Puede modificar la posición de los ejes en la ventana de la figura de la siguiente manera (usando su código de ejemplo):

clear all; clc; close all;
x = rand(8,1);
y = rand(8,1);

figure;
ax = handle(gca);
ax.Position = [0.1, 0.15, 0.8, 0.75];
plot(x,y)
xlabel('time (s)')
ylabel('$x$ (m), $\theta$ (rad), $\dot{x}$ (m/s),$\dot{\theta}$ (rad/s), $\dot{S}_{gen}$(W/K)','Interpreter', 'latex','fontsize',10)
grid

Explicación del código.

En ax = handle(gca);usted almacena el identificador de los ejes en una variable axpara que pueda modificarlo más adelante.

En ax.Position [0.1, 0.15, 0.8, 0.75];cambias la posición de los ejes en la figura referida por manija ax. El ejemplo anterior establece el punto inferior izquierdo en las coordenadas 0.1, 0.15y un ancho y alto de 0.8y 0.75respectivamente. Estas coordenadas están normalizadas según el tamaño de su figura.

Parcelas de ejemplo

Situación inicial

Si configura el ax.Positionpara [0.25, 0.15, 0.7, 0.75]obtendrá algo como lo que tenía inicialmente:

ingrese la descripción de la imagen aquí

Solución

Si configura el ax.Positionpara [0.1, 0.1, 0.85, 0.85]obtendrá muchos menos espacios en blanco:

ingrese la descripción de la imagen aquí

Notas

Este enlace de ayuda de MATLABexplica cómo se puede definir la posición de los ejes "automáticamente" de modo que haya un ajuste más ajustado.
Este enlace de ayuda de MATLAB sobre ejesexplica qué parámetros están disponibles en el objeto de ejes.
Esta respuesta en StackoverflowMe ayudó a encontrar una manera de utilizar la notación de puntos en versiones de MATLAB anteriores a 2014b.AparentementeEl uso handle()también es más rápido que los métodos sety get.

información relacionada