Main Content

Newplot을 사용한 플로팅 제어하기

이 예제에서는 사용자 작성 플로팅 함수에 사용할 Figure와 좌표축을 준비하는 방법을 보여줍니다. 점 표기법을 사용하여 속성을 설정합니다.

newplot을 사용하여 특화된 플로팅 함수의 출력을 관리합니다. myPlot2D 함수는 다음을 수행합니다.

  • 특정 게재 요건을 충족할 수 있도록 좌표축과 Figure 모양을 사용자 지정합니다.

  • 여러 선으로 이루어진 그래프에 단일 색과 함께 선 스타일을 되풀이해 사용합니다.

  • 지정된 표시 이름과 함께 범례를 추가합니다.

function myPlot2D(x,y)
   % Call newplot to get the axes handle
   cax = newplot;
   % Customize axes
   cax.FontName = 'Times';
   cax.FontAngle = 'italic';
   % Customize figure
   fig = cax.Parent;
   fig.MenuBar= 'none';
   % Call plotting commands to
   % produce custom graph
   hLines = line(x,y,...
      'Color',[.5,.5,.5],...
      'LineWidth',2);
   lso = ['- ';'--';': ';'-.'];
   setLineStyle(hLines)
   grid on
   legend('show','Location','SouthEast')
   function setLineStyle(hLines)
      style = 1;
      for ii = 1:length(hLines)
         if style > length(lso)
            style = 1;
         end
         hLines(ii).LineStyle = lso(style,:);
         hLines(ii).DisplayName = num2str(style);
         style = style + 1;
      end
   end
end

다음 그래프는 myPlot2D 함수에 대한 일반적인 출력물을 보여줍니다.

x = 1:10;
y = peaks(10);
myPlot2D(x,y)

myPlot2D 함수는 사용자 작성 플로팅 함수의 기본적인 구조를 보여줍니다.

  • newplot을 호출하여 대상 좌표축의 핸들을 가져오고 좌표축과 Figure의 NextPlot 속성 설정을 적용합니다.

  • 반환되는 axes 핸들을 사용하여 이 특정 플로팅 함수에 맞게 좌표축 또는 Figure를 사용자 지정합니다.

  • 플로팅 함수(예: linelegend)를 호출하여 특화된 그래프를 구현합니다.

myPlot2Dnewplot에서 반환되는 핸들을 사용하여 대상 Figure와 좌표축에 액세스하므로 이 함수는 다음을 수행합니다.

  • 각 후속 호출로 좌표축을 지울 때 MATLAB® 플로팅 함수의 동작을 준수합니다.

  • holdon으로 설정된 경우 올바르게 작동합니다.

NextPlot 속성의 디폴트 설정은 플로팅 함수가 표준 MATLAB 동작, 즉 Figure 창을 재사용하지만 새 그래프를 생성할 때마다 좌표축을 지우고 재설정하는 동작을 준수합니다.