코드 설명

코드 설명

저는 Matlab 2014b에서 몇 가지 플롯을 작성하고 있습니다. 그중 하나에서는 시간에 따른 5개의 변수를 플롯하고 있으며 속도(rad/sec), 전압(V) 등과 같은 5개의 이름을 지정하려고 합니다. 그러나 y-라벨은 그림에서 볼 수 있듯이 왼쪽에 불필요한 공간이 생겨서 제거하려고 애쓰고 있습니다.샘플 그림

상황을 설명하기 위한 작업 코드는 다음과 같습니다.

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

어떤 제안이라도 미리 높이 평가하겠습니다.

답변1

다음과 같이 Figure 창에서 축 위치를 조정할 수 있습니다(예제 코드 사용).

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

코드 설명

나중에 변경할 수 있도록 ax = handle(gca);축 핸들을 변수에 저장합니다 .ax

ax.Position [0.1, 0.15, 0.8, 0.75];핸들이 참조하는 그림의 축 위치를 변경 합니다 ax. 위의 예에서는 왼쪽 아래 지점을 좌표 0.1, 0.15와 너비 및 높이로 0.8각각 설정합니다 0.75. 이 좌표는 그림 크기에 맞게 정규화됩니다.

예제 플롯

초기 상황

ax.Position를 으로 설정하면 [0.25, 0.15, 0.7, 0.75]처음에 했던 것과 같은 결과를 얻게 됩니다.

여기에 이미지 설명을 입력하세요

해결책

ax.Position를 으로 설정하면 [0.1, 0.1, 0.85, 0.85]공백이 훨씬 줄어듭니다.

여기에 이미지 설명을 입력하세요

노트

이 MATLAB 도움말 링크더 꼭 맞도록 축 위치를 "자동으로" 정의하는 방법을 설명합니다.
축에 대한 이 MATLAB 도움말 링크축 객체에서 사용할 수 있는 매개변수에 대해 설명합니다.
이 답변은 Stackoverflow에 있습니다.2014b 이전 MATLAB 버전에서 점 표기법을 사용하는 방법을 찾는 데 도움이 되었습니다.보기에를 사용하는 것이 및 메서드 handle()보다 빠릅니다 .setget

관련 정보