Main Content

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

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

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

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

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

function myPlot2D(x,y)
   % Call newplot to get the axes object
   cax = newplot;
   % Customize axes
   cax.FontName = 'Times';
   cax.FontAngle = 'italic';
   
   % Create plot
   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을 호출하여 axes 객체를 가져오고 사용자 지정합니다.

  • 플로팅 함수(예: linelegend)를 호출하여 플롯을 생성합니다.

myPlot2Dnewplot에서 반환되는 axes 객체를 사용하여 대상 좌표축에 액세스하므로 이 함수는 다음을 수행합니다.

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

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

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