Software/MATLAB
[MATLAB] yyaxis : Plot y축 좌우 2개 설정
_winmin
2025. 1. 2. 17:05
시간 같은 동일한 x축을 공유하는 두 데이터의 y scale 차이가 클 때, 단순히 두 데이터를 하나의 figure에 plot하면 비교가 어려운 경우가 있다. 그럴 때 오른쪽에 y축을 하나 더 생성할 수 있다.
한 축에 두 데이터 담을 때
figure()
x = linspace(0,25);
y1 = sin(x/2);
y2 = 300 + cos(x/4);
plot(x,y1)
hold on
plot(x,y2)
legend('y1','y2') |
Scale의 차이로 인해 두 데이터의 파형이 잘 보이지 않는다.
y축을 따로 생성했을 때
yyaxis 명령으로 그리고 싶은 좌우 축을 선택한다.
figure()
x = linspace(0,25);
y1 = sin(x/2);
y2 = 300 + cos(x/4);
yyaxis left % 이 코드 뒤로 올 plot은 왼쪽의 y축에 그릴 것
plot(x,y1)
yyaxis right % 이 코드 뒤로 올 plot은 오른쪽의 y축에 그릴 것
plot(x,y2)
legend('y1','y2')
|
서로 다른 scale을 가진 데이터도 y축을 따로 설정해주니 한 눈에 각각의 파형이 보일 뿐만 아니라, 데이터 간 비교도 훨씬 쉬워진다.
비고: 축 색깔 지정
축을 생성하기 이전, color order를 새로 설정해준다.
색은 RGB 값을 포함하는 1x3 행렬로 표현된다.
figure()
newcolors = [0.40 0.30 0.90; 0.50 0.65 0.15]; % [R G B] colororder(newcolors) % 새로운 color order 지정, 축 생성하기 이전에 실행되어야 함
x = linspace(0,25);
y1 = sin(x/2);
y2 = 300 + cos(x/4);
yyaxis left
plot(x,y1)
yyaxis right
plot(x,y2)
legend('y1','y2')
|
Reference
https://www.mathworks.com/help/matlab/creating_plots/plotting-with-two-y-axes.html