Main Content

디폴트 속성값

미리 정의된 속성값

거의 모든 그래픽스 객체 속성에 미리 정의된 값이 있습니다. 미리 정의된 값의 출처로는 두 군데가 있을 수 있습니다.

  • 객체의 선조에 정의된 디폴트 값

  • 그래픽스 객체 계층 구조의 루트에 정의된 공장 초기값

사용자는 객체 속성에 대한 디폴트 값을 생성할 수 있으며, 이 값은 공장 초기값에 우선합니다. 다음과 같은 경우 객체는 디폴트 값을 사용합니다.

  • 선조가 디폴트 값을 정의하는 계층 구조에 객체가 생성된 경우

  • 선조가 디폴트 값을 정의하는 계층 구조를 부모로 갖는 객체인 경우

디폴트 값 지정하기

다음 세 가지 부분이 포함된 문자형 벡터를 사용하여 디폴트 속성값을 정의합니다.

'default' ObjectType PropertyName
  • 단어 default

  • 객체 유형(예: Line)

  • 속성 이름(예: LineWidth)

디폴트 선 LineWidth를 지정하는 문자형 벡터는 다음과 같습니다.

'defaultLineLineWidth'

이 문자형 벡터를 사용하여 디폴트 값을 지정하십시오. 예를 들어, 선의 LineWidth 속성에 디폴트 값을 2포인트로 지정하려면 다음 명령문을 사용합니다.

set(groot,'defaultLineLineWidth',2)

문자형 벡터 defaultLineLineWidth는 속성을 line 속성으로 인식합니다. Figure 색을 지정하려면 defaultFigureColor를 사용합니다.

set(groot,'defaultFigureColor','b')

계층 구조에서 디폴트를 정의하는 위치

일반적으로, 모든 후속 플로팅 함수가 디폴트 값을 사용하도록 루트 수준에서 디폴트 값을 정의해야 합니다. 루트에 대한 핸들을 반환하는 groot 함수를 사용하여 set 명령문과 get 명령문에서 루트를 지정합니다.

다음 세 가지 수준에서 디폴트 속성값을 정의할 수 있습니다.

  • 루트 — 현재 MATLAB® 세션에서 생성되는 객체에 값이 적용됩니다.

  • Figure — 디폴트를 정의하는 Figure의 자식에 적용되는 디폴트 값에 사용됩니다.

  • 좌표축 — 로우 레벨 함수(light, line, ,patch, rectangle, surface, text, image의 로우 레벨 형태)를 사용하는 경우에 한해, 디폴트를 정의하는 좌표축의 자식에게만 적용되는 디폴트 값에 사용됩니다.

예를 들어, 루트 수준에서만 디폴트 Figure 색을 지정하려면 다음을 사용합니다.

set(groot,'defaultFigureColor','b')

디폴트 값 나열하기

get을 사용하여 지정된 객체 수준에서 현재 설정된 디폴트 값을 확인할 수 있습니다.

get(groot,'default')

이 명령은 현재 MATLAB 세션에 설정된 모든 디폴트 값을 반환합니다.

속성을 현재 디폴트로 설정하기

속성값을 'default'로 지정하면 해당 속성에 정의된 디폴트 값 중 처음 나오는 값으로 속성이 설정됩니다. 예를 들어, 다음 명령문은 녹색 곡면 EdgeColor를 생성합니다.

set(groot,'defaultSurfaceEdgeColor','k')
h = surface(peaks);
set(gcf,'defaultSurfaceEdgeColor','g')
set(h,'EdgeColor','default')

곡면 EdgeColor의 디폴트 값이 Figure 수준에서 존재하기 때문에 루트에 정의된 디폴트 EdgeColor 대신 MATLAB이 이 값을 처음으로 접하고 이 값을 사용합니다.

디폴트 값 제거하기

속성값을 'remove'로 지정하면 사용자 정의 디폴트 값이 제거됩니다. 다음 명령문은

set(groot,'defaultSurfaceEdgeColor','remove')

루트에서 디폴트 곡면 EdgeColor의 정의를 제거합니다.

공장 초기값으로 속성 설정하기

속성값을 'factory'로 지정하면 속성이 공장 초기값으로 설정됩니다. 예를 들어, 다음 명령문은 곡면 hEdgeColor를 정의한 디폴트 값에 상관없이 검은색(공장 초기값 설정)으로 설정합니다.

set(gcf,'defaultSurfaceEdgeColor','g')
h = surface(peaks);
set(h,'EdgeColor','factory')

공장 초기 속성값 나열하기

다음과 같이 공장 초기값을 나열할 수 있습니다.

  • get(groot,'factory') — 모든 그래픽스 객체에 대한 공장 초기 속성값을 나열합니다.

  • get(groot,'factoryObjectType') — 특정 객체에 대한 공장 초기 속성값을 나열합니다.

  • get(groot,'factoryObjectTypePropertyName') — 특정 속성에 대한 공장 초기값을 나열합니다.

예약어

속성값을 default, remove, factory 중 하나로 설정하면 이전 섹션에서 설명했던 효과가 나타납니다. 속성을 다음 단어 중 하나로 설정하려면(예를 들어, 텍스트의 String 속성을 단어 default로 설정) 해당 단어 앞에 백슬래시 문자를 입력합니다.

h = text('String','\default');