Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

ライブ スクリプトへの対話型コントロールの追加

スライダー、ドロップダウン、チェック ボックス、編集フィールド、ボタンをライブ スクリプトに追加して、変数の値を対話的に制御できます。スクリプトに対話型コントロールを追加すると、スクリプトを他のユーザーと共有する場合に便利です。対話型コントロールを使用することで、使い慣れたユーザー インターフェイス コンポーネントを使って、ライブ スクリプトにある変数の値の設定や変更を行います。

コントロールの挿入

ライブ スクリプトにコントロールを挿入するには、[ライブ エディター] タブの [コード] セクションで [コントロール] をクリックします。次に、利用可能なオプションから選択します。既存の値をコントロールで置き換えるには、値を選択してから、コントロールを挿入します。[コントロール] メニューには、選択した値に対して利用可能なオプションのみが表示されます。

以下の表は、利用可能なコントロールのリストを示しています。

コントロール説明構成の詳細

数値スライダー

数値スライダーを使用して、スライダーのつまみを目的の数値に動かすことで、変数の値を対話的に変更します。

スライダーの左側にある値は現在の値です。

[値] セクションで、[最小値][最大値]、および [ステップ] の値を指定するか、ドロップダウン リストからワークスペース変数を選択します。

数値をもつ変数のみがドロップダウン リストに表示されます。選択したい変数がリストされていない場合、まずはライブ スクリプトの実行を試して変数を作成し、その変数をワークスペースに追加します。ライブ スクリプトの実行後、変数に対する変更は数値スライダーに自動的に反映されます。

ドロップダウン リスト

ドロップダウン リストを使用して値のリストから選択することで、変数の値を対話的に変更します。

ドロップダウン リストに表示されているテキストにカーソルを合わせると、現在の値が表示されます。

[項目][項目のラベル] フィールドで、ドロップダウン リストの各項目に表示するテキストを指定します。

[項目][項目の値] フィールドで、ドロップダウン リストの各項目の値を指定します。ライブ エディターではリスト内の各項目がコードとして解釈されるため、テキストの値は必ず引用符または二重引用符で囲んでください。

変数に格納された値を使用してドロップダウン リストに項目を設定するには、[項目][変数] フィールドでワークスペース変数を選択します。変数はリストに表示される string 配列でなければなりません。選択したい変数がリストされていない場合、まずはライブ スクリプトの実行を試して変数を作成し、その変数をワークスペースに追加します。ライブ スクリプトの実行後、変数に対する変更はドロップダウン リストに自動的に反映されます。

チェック ボックス

チェック ボックスを使用して、変数の値を論理値 1 (true) または論理値 0 (false) のいずれかに対話的に設定します。

表示されているチェック ボックスの状態 (オンまたはオフ) によって、現在の値が決まります。

N/A

編集フィールド

編集フィールドを使用して、変数の値を任意の入力値に対話的に設定します。

編集フィールドに表示されるテキストと選択したデータ型によって、現在の値が決まります。

[タイプ] セクションの [データ型] フィールドで、利用可能なオプションから選択して、編集フィールドのテキストのデータ型を指定します。

ボタン

ボタン コントロールを使用して、ボタンのクリックで対話的にコードを実行します。

ボタン コントロールを使用するときは、ライブ スクリプト内のその他すべてのコントロールの [実行] フィールドを [なし] に設定することを検討してください。これにより、ユーザーがボタン コントロールをクリックした場合にのみコードが実行されます。これは、コードを実行する前にライブ スクリプトで複数のコントロール値を設定する必要がある場合に便利です。

ボタンに表示されているラベルを変更するには、[ラベル] セクションでラベル名を入力します。

コントロールの実行の変更

コントロールの値が変化したときに、いつ、どのコードを実行するかを変更できます。既定では、コントロールの値が変化すると、ライブ エディターは現在のセクションでコードを実行します。この動作を構成するには、コントロールを右クリックして [コントロールの構成] を選択します。次に、[実行] セクションで、以下の表で説明しているフィールドの値を変更します。Tab キーまたは Enter キーを押すか、コントロールの構成メニューの外側をクリックしてライブ スクリプトに戻ります。

フィールドオプション
実行タイミング (スライダー コントロールのみ)

次のいずれかのオプションを選択して、コードを実行するタイミングを指定します。

  • 値の変化中 — スライダーの値の変化中にコードを実行します。

  • 値の変化後 — スライダーの値が変化した後 (ユーザーがスライダーのつまみを放したとき) にコードを実行します。

実行

次のいずれかのオプションを選択して、コントロールの値が変化したときにどのコードを実行するかを指定します。

  • 現在のセクション (既定) — コントロールを含むセクションを実行します。

  • 現在のセクションと、上のセクションのうち変更済みまたは未実行のセクション — コントロールの値が変化したときに、現在のセクションと、それより上にある古いコードを実行します。ライブ スクリプトがまだ実行されていない場合は、コントロールの値を変更すると、現在のセクションと、それより前のすべてのセクションが実行されます。

  • 現在のセクションから最後まで — コントロールが含まれるセクションとそれに続くセクションを実行します。

  • すべてのセクション — ライブ スクリプト内のすべてのセクションを実行します。

  • なし — コードを実行しません。

ヒント

ライブ スクリプトのボタン コントロールを使用する場合は、ライブ スクリプトの他のすべてのコントロールの [実行] フィールドを [なし] に設定することを検討してください。これにより、ユーザーがボタン コントロールをクリックした場合にのみコードが実行されます。これは、コードを実行する前にライブ スクリプトで複数のコントロール値を設定する必要がある場合に便利です。

コントロールのラベルの変更

ライブ スクリプトでコードを非表示にし、ラベル付きのコントロール、出力、および書式設定済みテキストのみを表示することができます。ライブ スクリプトの共有やエクスポートに際しては、コードを非表示にすると便利です。コードを非表示にするには、ライブ スクリプトの右にある [コードを非表示] ボタンをクリックします。[ビュー] タブにアクセスして、[ビュー] セクションの [コードを非表示] をクリックすることもできます。コードを再表示するには、 [インラインで出力] ボタンまたは [右側に出力] ボタンをクリックします。

コードを非表示にすると、コントロールの横にラベルが表示されます。コントロールのラベルを変更するには、コントロールを右クリックして [コントロールの構成] を選択します。次に、[ラベル] セクションで、ラベル名を入力します。これは、すべてのビューのボタン コントロールに表示されるテキストでもあります。Tab キーまたは Enter キーを押すか、コントロールの構成メニューの外側をクリックしてライブ スクリプトに戻ります。

複数の対話型コントロールをもつライブ スクリプトの作成

この例では、対話型コントロールを使用して、MATLAB® で患者データを可視化および調査する方法を示します。男性患者または女性患者の身長と体重の相関をプロットし、特定の身長と体重を超えている患者を強調表示します。

プロットする患者の性別を指定するには、ドロップダウン リストを挿入し、genderStrings 変数を選択して項目をリストに設定します。身長と体重のしきい値を指定するには、2 つの数値スライダーを挿入し、[最小値] および [最大値] の値として minHeightmaxHeightminWeight、および maxWeight 変数を選択します。

コントロールの表示とそれによる対話を行うため、この例をブラウザーまたは MATLAB で開きます。

load patients
genderStrings = ["Female","Male"];

selectedGender = genderStrings(2);
minHeight = min(Height);
maxHeight = max(Height);
minWeight = min(Weight);
maxWeight = max(Weight);

thresholdHeight = 68;
thresholdWeight = 132;

overThresholdWeights = Weight(Gender==selectedGender & Weight>=thresholdWeight & Height>=thresholdHeight);
overThresholdHeights = Height(Gender==selectedGender & Weight>=thresholdWeight & Height>=thresholdHeight);

sp1 = scatter(Height(Gender==selectedGender),Weight(Gender==selectedGender),'blue');
hold on

sp2 = scatter(overThresholdHeights, overThresholdWeights,'red');
hold off

title('Height vs. Weight of ' + selectedGender + ' Patients')

legendText = sprintf('Patients over %d inches and %d pounds.',thresholdHeight,thresholdWeight);
legend(sp2,legendText,'Location','southoutside')

Figure contains an axes. The axes with title Height vs. Weight of Male Patients contains 2 objects of type scatter. This object represents Patients over 68 inches and 132 pounds..

ライブ スクリプトの共有

ライブ スクリプトが完了したら、他のユーザーと共有します。ユーザーはライブ スクリプトを MATLAB® で開いて、コントロールの対話的な使用を体験できます。

ライブ スクリプト自体を対話型ドキュメントとして共有している場合は、ライブ スクリプトを共有する前にライブ スクリプト内のコードを非表示にすることを検討してください。コードが非表示の場合、ライブ エディターにはラベルの付いたコントロール、出力、書式設定されたテキストのみが表示されます。コードを非表示にするには、ライブ スクリプトの右にある [コードを非表示] ボタンをクリックします。[ビュー] タブにアクセスして、[ビュー] セクションの [コードを非表示] をクリックすることもできます。

ライブ スクリプトを静的な PDF、Microsoft® Word、HTML、または LaTeX のドキュメントとして共有する場合、ライブ エディターはコントロールをコードとして保存します。たとえば、ここに示すライブ スクリプトでは、ライブ エディターによってスライダー コントロールがスライダーの現在の値 (68 および 132) に、ドロップダウン コントロールがドロップダウンの現在の値 ("Female") に置き換えられます。

関連するトピック