Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

라이브 스크립트에 대화형 방식 컨트롤 추가하기

라이브 스크립트에 슬라이더, 스핀 상자, 드롭다운 목록, 체크박스, 편집 필드, 버튼, 파일 브라우저, 색 선택기를 추가하여 대화형 방식으로 변수 값을 제어할 수 있습니다. 스크립트에 대화형 방식 컨트롤을 추가하면 스크립트를 다른 사람과 공유할 때 유용합니다. 대화형 방식 컨트롤을 사용하면 라이브 스크립트에서 친숙한 사용자 인터페이스 컴포넌트를 사용해 변수의 값을 설정하고 변경할 수 있습니다.

컨트롤 삽입하기

라이브 스크립트에 컨트롤을 삽입하려면 라이브 편집기 탭으로 이동한 후 코드 섹션에서 컨트롤을 클릭하십시오. 그런 다음 사용 가능한 옵션 중에서 선택하십시오. 기존 값을 컨트롤로 바꾸려면 라이브 스크립트에서 값을 선택한 다음 컨트롤을 삽입하십시오. 컨트롤 메뉴에는 선택한 값에 대해 사용 가능한 옵션만 표시됩니다. 컨트롤을 구성하려면 라이브 스크립트에서 컨트롤을 마우스 오른쪽 버튼으로 클릭한 다음 컨트롤 구성을 선택하십시오.

다음 표에는 전체 컨트롤 목록이 나와 있습니다.

컨트롤설명구성 세부 정보

버튼

Sample of a button

버튼 컨트롤을 사용하면 버튼을 클릭할 때 코드를 대화형 방식으로 실행할 수 있습니다.

버튼에 표시되는 텍스트를 변경하려면 레이블 섹션에서 레이블 텍스트를 입력하십시오.

체크박스

Sample of a check box

체크박스를 사용하면 대화형 방식으로 변수 값을 논리값 1(true) 또는 논리값 0(false)으로 설정할 수 있습니다.

체크박스의 표시 상태(선택 또는 미선택)에 따라 현재 값이 결정됩니다.

해당 없음

색 선택기

Sample of a color picker

색 선택기를 사용하면 색을 대화형 방식으로 선택할 수 있습니다.

색 선택기에 표시된 색이 현재 선택되어 있는 색입니다.

형식 섹션에 제공된 옵션 중에서 선택하여 색 선택기의 색 형식을 지정합니다. 유효한 형식은 다음과 같습니다.

  • RGB [0-1] — RGB 3색으로, 값이 [0,1] 범위에 있는 요소를 3개 가진 배열로 지정됩니다(예: [0.4 0.6 0.7]).

  • RGB [0-255] — RGB 3색으로, 값이 [0,255] 범위에 있는 요소를 3개 가진 배열로 지정됩니다(예: [34 89 90]).

  • 16진수 — 16진수 색 코드로, string형 스칼라 또는 문자형 벡터로 지정되며, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다(예: "#c24463"). 이 값은 대/소문자를 구분하지 않습니다.

  • HSV — HSV 3색으로, 요소를 3개 가진 배열로 지정되며 첫 번째 요소(H)가 [0,360] 범위에 있어야 하고 두 번째 요소와 세 번째 요소(SV)가 [0,100] 범위에 있어야 합니다(예: [345 65 76]).

드롭다운 목록

Sample of a drop-down list

드롭다운 목록을 사용하면 항목 목록에서 선택하여 변수의 값을 대화형 방식으로 변경할 수 있습니다.

드롭다운 목록에 표시된 항목에 커서를 올려놓으면 값이 표시됩니다.

항목 > 항목 레이블 필드에서 드롭다운 목록 내 각 항목에 대해 표시할 텍스트를 지정하십시오.

항목 > 항목 값 필드에서 드롭다운 목록의 각 항목에 대한 값을 지정하십시오. 라이브 편집기는 목록의 각 항목을 코드로 해석하므로 텍스트 값은 작은따옴표나 큰따옴표로 묶으십시오.

변수에 저장된 값을 사용하여 드롭다운 목록의 항목을 채울 수도 있습니다. 자세한 내용은 컨트롤에 변수 연결하기 항목을 참조하십시오.

편집 필드

Sample of an edit field

편집 필드를 사용하면 대화형 방식으로 변수 값을 지정된 유형의 입력값으로 설정할 수 있습니다.

편집 필드에 표시된 텍스트와 구성한 데이터형에 따라 현재 값이 결정됩니다.

편집 필드에 텍스트의 데이터형을 지정하려면 유형 섹션의 데이터형 필드에서, 사용 가능한 옵션 중에서 선택하십시오.

파일 브라우저

Sample of a file browser

파일 브라우저를 사용하면 파일 선택 대화 상자를 열어 파일을 대화형 방식으로 선택하거나 폴더 선택 대화 상자를 열어 폴더를 대화형 방식으로 선택할 수 있습니다.

편집 필드에 표시된 텍스트에 따라 현재 값이 결정됩니다.

유형 섹션에서, 파일 브라우저를 사용하여 파일을 선택하려면 파일을 선택하고, 파일 브라우저를 사용하여 폴더를 선택하려면 폴더를 선택하십시오.

파일 선택 버튼 옆에 텍스트를 표시하려면 레이블 섹션에서 레이블 텍스트를 입력하십시오.

숫자 슬라이더

Sample of a numeric slider

숫자 슬라이더를 사용하면 슬라이더 핸들을 원하는 숫자 값으로 움직여 변수의 값을 대화형 방식으로 변경할 수 있습니다.

슬라이더 왼쪽의 값이 현재 값입니다.

섹션에서 최소, 최대, 간격 값을 지정하거나 드롭다운 목록에서 작업 공간 변수를 선택하십시오.

변수를 사용하여 슬라이더 값을 지정하는 방법에 대한 자세한 내용은 컨트롤에 변수 연결하기 항목을 참조하십시오.

숫자 스핀 상자

Sample of a numeric spinner

숫자 스핀 상자를 사용하면 값의 오른쪽에 있는 위쪽 화살표 버튼과 아래쪽 화살표 버튼을 클릭하여 변수의 값을 대화형 방식으로 늘리거나 줄일 수 있습니다. 또한 숫자 편집 필드에 스핀 상자의 숫자형 값을 입력할 수도 있습니다.

숫자 편집 필드의 값은 스핀 상자의 현재 값입니다.

섹션에서 최소, 최대, 간격 값을 지정하거나 드롭다운 목록에서 작업 공간 변수를 선택하십시오.

변수를 사용하여 스핀 상자 값을 지정하는 방법에 대한 자세한 내용은 컨트롤에 변수 연결하기 항목을 참조하십시오.

상태 버튼

Sample of a state button

상태 버튼을 사용하면 버튼을 클릭하여 켜거나 꺼서 논리형 변수의 값을 대화형 방식으로 설정할 수 있습니다.

상태 버튼의 표시 상태(눌림 또는 눌리지 않음)에 따라 현재 값이 결정됩니다.

상태 버튼에 표시되는 텍스트를 변경하려면 레이블 섹션에서 레이블 텍스트를 입력하십시오.

컨트롤 레이블 수정하기

라이브 스크립트에서 코드를 숨겨 서식 지정된 텍스트, 레이블이 지정된 컨트롤, 작업 및 출력값만 표시할 수 있습니다. 코드를 숨기면 라이브 스크립트를 공유하고 내보낼 때 유용합니다. 코드를 숨기려면 라이브 스크립트 오른쪽에 있는 코드 숨기기 버튼 을 클릭하십시오. 또는 보기 탭으로 이동한 다음 보기 섹션에서 코드 숨기기를 클릭해도 됩니다. 코드를 다시 표시하려면 출력값을 인라인으로 표시 버튼 또는 출력값을 오른쪽에 표시 버튼 을 클릭하십시오.

코드가 숨겨져 있을 때는 컨트롤 옆에 레이블이 표시됩니다. 컨트롤의 레이블을 수정하려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 컨트롤 구성을 선택하십시오. 그런 다음, 레이블 섹션에서 레이블 텍스트를 입력하십시오. 레이블 텍스트는 또한 모든 보기의 버튼 컨트롤에도 표시됩니다. 라이브 스크립트로 돌아오려면 Tab 키 또는 Enter 키를 누르거나 컨트롤 구성 메뉴 외부를 클릭하십시오.

컨트롤에 변수 연결하기

슬라이더 값, 스핀 상자 값 및 드롭다운 항목에 변수를 연결하여 동적 컨트롤을 생성할 수 있습니다.

변수를 사용하여 슬라이더 또는 스핀 상자의 최솟값, 최댓값, 간격 값을 지정하려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 컨트롤 구성을 선택하십시오. 그런 다음 섹션에서 최소, 최대, 간격에 대한 작업 공간 변수를 선택합니다. double형의 숫자형 값을 갖는 변수만 드롭다운 목록에 표시됩니다. 선택하려는 변수가 목록에 없는 경우 먼저 라이브 스크립트를 실행하여 작업 공간에서 변수를 생성해 보십시오. 변수에 대한 변경 사항은 숫자 슬라이더 또는 스핀 상자에 자동으로 반영됩니다.

변수에 저장된 값을 사용하여 드롭다운 목록의 항목을 채우려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 컨트롤 구성을 선택하십시오. 그런 다음 항목 섹션의 변수 목록에서 작업 공간 변수를 선택합니다. 변수가 목록에 표시되려면 string형 배열 또는 string형 스칼라여야 합니다. 선택하려는 변수가 목록에 없는 경우 먼저 라이브 스크립트를 실행하여 작업 공간에서 변수를 생성해 보십시오. 변수에 대한 변경 사항은 드롭다운 목록에 자동으로 반영됩니다.

예를 들어, 라이브 스크립트를 만들고 성 목록을 포함하는 변수 lastnames를 정의해 보겠습니다.

lastnames = ["Houston","Vega","Obrien","Potter","Rivera","Hanson","Fowler","Tran","Briggs"];

라이브 스크립트를 실행하여 작업 공간에서 lastnames를 생성합니다. 그런 다음 라이브 편집기 탭으로 이동하여 코드 섹션에서 컨트롤 > 드롭다운을 선택합니다. 컨트롤 구성 메뉴의 항목 섹션에서 변수lastnames를 선택합니다.

Drop-down list configuration menu with the lastnames variable selected and the lists of item labels and item values populated with the variable values

구성 메뉴를 닫아 라이브 스크립트로 돌아갑니다. 드롭다운 목록에는 이제 lastnames에 정의된 성이 포함되어 있습니다.

Drop-down list containing nine last names

lastnames의 값을 추가하거나 제거하거나 편집하면 MATLAB®은 그에 따라 드롭다운 목록의 항목을 업데이트합니다.

참고

드롭다운 목록의 항목이 한 변수에 연결되어 있고 라이브 스크립트가 실행 중인 동안 이 변수의 값 중 하나 이상이 삭제되는 경우, 삭제된 값 중 하나가 선택된 목록 항목이면 오류가 발생할 수 있습니다. 이 오류의 발생 가능성을 최소화하려면 라이브 스크립트가 실행되는 동안 연결된 변수의 값을 삭제하지 마십시오.

디폴트 값 지정하기

라이브 스크립트에서 슬라이더, 스핀 상자, 드롭다운 목록, 체크박스, 편집 필드, 상태 버튼 및 색 선택기의 디폴트 값을 설정할 수 있습니다.

컨트롤의 디폴트 값을 설정하려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 컨트롤 구성을 선택하십시오. 그런 다음 디폴트 값 섹션에서, 값을 입력하거나 목록에서 작업 공간 변수를 선택하여 디폴트 값을 지정합니다. 해당 컨트롤에 유효한 변수만 목록에 표시됩니다. 드롭다운 목록의 경우, 항목 목록에서 디폴트 값을 선택하십시오.

컨트롤의 디폴트 값을 복원하려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 디폴트 값 복원을 선택하십시오.

컨트롤의 값을 작업 공간 변수에 연결하려면 컨트롤의 디폴트 값을 해당 변수로 설정하십시오. 컨트롤 값이 디폴트 값으로 설정되며 변수 값이 변경되면 컨트롤 값도 변경됩니다. 컨트롤 값이 수동으로 변경되기 전까지 (예를 들어 숫자 슬라이더의 핸들을 움직여 값을 변경하기 전까지) 컨트롤 값은 변수 값에 연결된 상태로 유지됩니다.

컨트롤 실행 수정하기

컨트롤의 값이 변경될 때 언제 어떠한 코드를 실행할지를 수정할 수 있습니다. 기본적으로 컨트롤의 값이 변경되면 라이브 편집기는 현재 섹션의 코드를 실행합니다. 이 동작을 구성하려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 컨트롤 구성을 선택하십시오. 그런 다음, 실행 섹션에서 표에 설명된 필드의 값을 수정합니다. 라이브 스크립트로 돌아오려면 Tab 키 또는 Enter 키를 누르거나 컨트롤 구성 메뉴 외부를 클릭하십시오.

필드옵션
실행 시점(숫자 슬라이더와 숫자 스핀 상자에만 해당)

다음 옵션 중 하나를 선택하여 코드를 언제 실행할지를 지정합니다.

  • 변경 중인 값(디폴트 값) — 슬라이더 또는 스핀 상자의 값이 변경 중일 때 코드를 실행합니다.

  • 변경된 값 — 슬라이더 또는 스핀 상자 값 변경이 완료된 후(사용자가 슬라이더 핸들 또는 스핀 상자 위쪽/아래쪽 화살표 버튼에서 손을 뗀 후) 코드를 실행합니다.

실행

다음 옵션 중 하나를 선택하여 컨트롤 값이 변경될 때 어떠한 코드를 실행할지를 지정합니다.

  • 현재 섹션(디폴트 값) — 컨트롤이 포함된 섹션을 실행합니다.

  • 현재 섹션 및 위에서 수정되었거나 아직 실행되지 않은 섹션 — 현재 섹션과 컨트롤 위에 있는 모든 수정된 코드 또는 미실행 코드를 실행합니다. 라이브 스크립트가 아직 실행되지 않은 경우 컨트롤 값을 변경하면 현재 섹션과 그 앞에 있는 모든 섹션이 실행됩니다.

  • 현재 섹션부터 끝까지 — 컨트롤이 포함된 섹션과 그 이후의 모든 섹션을 실행합니다.

  • 모든 섹션 — 라이브 스크립트에 있는 모든 섹션을 실행합니다.

  • 실행 안 함 — 어떠한 코드도 실행하지 않습니다.

라이브 스크립트에서 버튼 컨트롤을 사용할 경우 라이브 스크립트의 다른 모든 컨트롤에 대한 실행 필드를 실행 안 함으로 설정하는 것이 좋습니다. 그러면 사용자가 버튼 컨트롤을 클릭할 때만 코드가 실행됩니다. 이는 코드를 실행하기 전에 라이브 스크립트에 여러 개의 컨트롤 값을 설정해야 하는 경우에 유용합니다.

여러 대화형 방식 컨트롤을 사용하여 라이브 스크립트 만들기

이 예제에서는 MATLAB에서 대화형 방식 컨트롤을 사용하여 환자 데이터를 시각화하고 조사할 수 있는 방법을 보여줍니다. 다양한 대화형 방식 컨트롤을 사용하여, 환자 목록을 필터링한 다음 필터링된 목록에 있는 연령과 수축기 혈압을 플로팅하고 지정된 혈압보다 높은 환자를 강조 표시합니다.

이 예제에서는 변수를 사용하여 드롭다운 목록 항목뿐만 아니라 슬라이더와 스핀 상자 값을 조정합니다. 예를 들어 위치별로 환자 목록을 필터링하려면 드롭다운 목록을 삽입하고 locationStrings 변수를 선택하여 목록의 항목을 채우십시오. 연령별로 환자 목록을 필터링하려면 숫자 슬라이더를 삽입하고 minAge 변수 및 maxAge 변수를 최소최대 값으로 선택하십시오. 수축기 혈압에 대한 임계값을 지정하려면 숫자 스핀 상자를 삽입하고 minPressure 변수 및 maxPressure 변수를 최소최대 값으로 선택하십시오.

데이터 필터링하기 버튼을 누를 때만 데이터를 필터링하려면 드롭다운 목록, 체크박스, 숫자 슬라이더 및 편집 필드의 실행 실행 옵션을 Nothing으로 설정하십시오.

컨트롤을 살펴보고 사용해보려면 브라우저나 MATLAB에서 이 예제를 여십시오.

샘플 환자 데이터 가져오기 및 필터링하기

파일 브라우저를 사용하여 환자 데이터가 포함된 파일을 선택한 다음 환자 데이터에서 테이블을 만듭니다. 드롭다운 목록, 체크박스, 숫자 슬라이더 및 편집 필드를 사용하여 위치, 흡연 상태, 연령, 환자의 성에 있는 문자와 같은 환자 필터링 정보를 지정합니다. 데이터 필터링하기 버튼을 사용하여 데이터를 필터링합니다.

filename = "patients.xls";
T = readtable(filename);

locationStrings = ["VA Hospital","County General Hospital","St. Mary's Medical Center"];
selectedLocation = locationStrings(1);

isSmoker = false;

maxAge = max(T.Age);
minAge = min(T.Age);
minimumAge = 31;

nameContains = "e";

 

idx = T.Location==selectedLocation & T.Smoker==isSmoker & T.Age>=minimumAge;
if ~strcmp(nameContains,"")
    idx = idx & contains(T.LastName,nameContains);
end
TFiltered = T(idx,:);

필터링된 환자 데이터 플로팅하기

필터링된 환자 데이터의 연령과 수축기 혈압을 플로팅하고 지정된 혈압보다 높은 환자를 강조 표시합니다. 숫자 스핀 상자를 사용하여 혈압에 대한 임계값을 지정합니다.

minPressure = min(TFiltered.Systolic);
maxPressure = max(TFiltered.Systolic);
thresholdPressure = 123;

TOverThreshold = TFiltered(TFiltered.Systolic>=thresholdPressure,:);

sp1 = scatter(TFiltered.Age,TFiltered.Systolic);
hold on
sp2 = scatter(TOverThreshold.Age,TOverThreshold.Systolic,"red");
hold off

title("Age vs. Systolic Blood Pressure of Patients")
xlabel("Age")
ylabel("Systolic Blood Pressure")

legendText = sprintf("Patients with systolic blood pressure over %d mmHg",thresholdPressure);
legend(sp2,legendText,Location="southoutside")

Figure contains an axes object. The axes object with title Age vs. Systolic Blood Pressure of Patients, xlabel Age, ylabel Systolic Blood Pressure contains 2 objects of type scatter. This object represents Patients with systolic blood pressure over 123 mmHg.

라이브 스크립트 공유하기

라이브 스크립트가 완료되면 다른 사람과 공유할 수 있습니다. 사용자들은 MATLAB에서 라이브 스크립트를 열고 대화형 방식으로 컨트롤을 사용하여 라이브 스크립트를 사용해 볼 수 있습니다.

라이브 스크립트 자체를 대화형 문서로 공유할 경우 공유 전에 라이브 스크립트에서 코드를 숨기는 것을 고려해 볼 수 있습니다. 코드를 숨기면 라이브 편집기에는 서식 지정된 텍스트, 레이블이 지정된 컨트롤, 작업 및 출력값만 표시됩니다. 라이브 스크립트의 작업이 코드만 표시하고 컨트롤은 표시하지 않도록 구성된 경우 코드를 숨기면 작업이 표시되지 않습니다. 코드를 숨기려면 라이브 스크립트 오른쪽에 있는 코드 숨기기 버튼 을 클릭하십시오. 또는 보기 탭으로 이동한 다음 보기 섹션에서 코드 숨기기를 클릭해도 됩니다.

라이브 스크립트를 PDF 파일, Microsoft® Word 문서, HTML 파일, LaTeX 파일, Markdown 파일 또는 Jupyter® Notebook으로 공유하면 라이브 편집기는 컨트롤을 코드로 저장합니다. 예를 들어 여러 대화형 방식 컨트롤을 사용하여 라이브 스크립트 만들기 예제 라이브 스크립트를 HTML로 내보내면(라이브 편집기 탭의 내보내기 옵션 사용), 파일 브라우저 컨트롤은 현재 값("patients.xls")으로 대체되고 드롭다운 목록 컨트롤도 현재 값(locationStrings(1))으로 대체되며 체크박스 컨트롤도 현재 값(false)으로 대체되고 숫자 슬라이더 컨트롤도 현재 값(31)으로 대체되며 텍스트 상자 컨트롤도 현재 값("e")으로 대체됩니다. 데이터 필터링하기 버튼은 표시되지 않습니다.

Live script exported to HTML with the interactive controls replaced by their values at export time

참고 항목

관련 항목