Manipulate

Manipulate[expr,{u,umin,umax}]
u の値をインタラクティブに操作するためのコントロールを追加した expr を生成する.

Manipulate[expr,{u,umin,umax,du}]
u の値は範囲 から ,刻み幅 で変化する.

Manipulate[expr,{{u,uinit},umin,umax,}]
u の初期値が であると解釈する.

Manipulate[expr,{{u,uinit,ulbl},}]
u のコントロールに のラベルを付ける.

Manipulate[expr,{u,{u1,u2,}}]
u は離散的な値 を取ることができる.

Manipulate[expr,{u,},{v,},]
を操作するコントロールを追加する.

Manipulate[expr,"cu"{u,},"cv"{v,},]
外部デバイス上の指定されたコントローラとコントロールを繋ぐ.

詳細とオプション詳細とオプション

  • expr はグラフィックスやその他の式でもよい.Noneの場合はコントロールのみが表示される.
  • デフォルトで,次の形式はコントロールの特別な形を与える.
  • {u,umin,umax}マニピュレータ(スライダー,アニメータ等)
    {u,umin,umax,du}刻み幅 du の離散的マニピュレータ
    {u,{xmin,ymin},{xmax,ymax}}2Dスライダー
    {u,Locator}グラフィックス内のロケータ
    {u,{u1,u2,}}2,3個の要素のためのセッターバー,それ以上の要素にはポップアップメニュー
    {u,{u1->lbl1,u2->lbl2,}}要素にラベルが付いた設定バーあるいはポップアップメニュー
    {u,{True, False}}チェックボックス
    {u,color}色スライダー
    {u}空白の入力フィールド
    {u,func}関数から任意のコントロールを作成する
    {{u,uinit},}初期値 のコントロール
    {{u,uinit,ulbl},}ラベル の付いたコントロール
    {{u,},,opts}特定のオプション付きのコントロール
    Control[]コントロールオブジェクトを生成する
    Delimiter水平デリミタ
    文字列,セル,式等明示的なテキスト,セル等の注釈
  • コントロールの代りに与えることのできる注釈には,TabViewGridのようなビューおよびレイアウト構造に加え,StringStyleRowItemTextExpressionCellTextCellを頭部に持つ式等がある.
  • コントロールのラベル はどのような式でもよい.
  • 注釈内部では,コントロールはControlを使って指定することができる.
  • オプション設定のControlType->type は,指定されたタイプのコントロールを行おうとする.
  • 可能なコントロールタイプには,AnimatorCheckboxCheckboxBarColorSetterColorSliderInputFieldManipulatorPopupMenuRadioButtonRadioButtonBar,かSetterSetterBar,あるいはSliderSlider2DTogglerBarTriggerVerticalSlider等がある.Noneを使うこともできる.
  • 各変数に対して別々にControlTypeオプションを与えることができる.コントロール用のオプションも,変数の指定内で与えることができる.
  • ControlType->Triggerは,特定の変数をトリガで制御するように指定する.
  • コントロール指定{u,umin,umax,,Appearance->"Labeled"}は値がラベルとして表示されるスライダーを返す.
  • の形のときは, Dynamic[u]func の第1引数として与えられる.
  • という形もまた使うことができる.この場合,評価されるのはfunc[Dynamic[u],{umin,umax}]である.
  • {u}{u, InputField}と等価である.{u, ColorSlider}はデフォルトの色スライダーをコントロールとして与える.
  • {u,Locator}の形式のとき,u の値は xy の座標を与えるリストである.この座標は expr 中の最初のグラフィックスか,expr の各方向について0から1の範囲のどちらかに属する.
  • {{u,{{x1,y1},{x2,y2},}},Locator}の形式でのそれぞれのロケータを設定し,u の値がすべてののリストになるようにする.
  • {{u,uinit},{xmin,ymin},{xmax,ymax},Locator}の形式でロケータの範囲を指定する.
  • オプション設定のLocatorAutoCreate->Allは,既存のロケータに当たらなかったクリックについて新たなロケータを追加するように指定する.Alt+Clickでロケータを削除する.
  • {{u,{}},Locator,LocatorAutoCreate->All}は,ロケータがない状態から始めるが,新たなロケータが作られることを許容する.
  • 変数 u が複数回用いられている場合は,このためのリンクされたコントロールが与えられている.
  • オプション設定のControlPlacement->pos で,expr と相対的な位置 pos にコントロールを置くように指定する.pos の可能な設定値はBottomLeftRightTopである.
  • 注釈の置き方は,注釈をControlPlacementオプションを持つItemで囲むことで指定することができる.
  • 次のオプションが使用できる.
  • AlignmentAutomatic表示エリアの出力をどのように整列させるか
    AppearanceElementsAutomatic表示された出力が含む全体的な制御要素
    AutoActionFalseマウスがその上に置かれたときにコントロールを自動的に変えるかどうか
    AutorunSequencingAutomaticオートランがどのようにコントロールを使うべきか
    BaselinePositionAutomatic周囲のテキストとの相対的な位置付け
    BaseStyle{}Manipulateのベーススタイル指定
    Bookmarks{}ブックマークの設定
    ContentSizeAutomaticコンテンツエリアの絶対サイズ
    ContinuousActionAutomaticコントロールが変更されたときに継続的に自動更新を行うかどうか
    ControllerLinkingAutomatic外部コントローラへのリンクをいつアクティブにするか
    ControllerMethodAutomatic外部コントローラをどのように操作するか
    ControllerPathAutomaticどのような外部コントローラを使ってみるか
    ControlPlacementAutomaticコントロールの配置
    ControlTypeAutomatic使用するコントロールタイプ
    DeinitializationNoneManipulateからの出力が削除されたときに評価される式
    DeployedFalse表示された出力を配備するかどうか
    EvaluatorAutomatic評価に使用するカーネル
    FrameLabelNone外側の枠のラベル
    FrameMarginsAutomatic全体的な枠の内側の余白
    ImageMargins0Manipulate全体の周囲の余白
    InitializationNone出力が最初に表示されたときに評価する式
    InterpolationOrderAutomaticブックマーク間の変化をアニメーションにする際の補間次数
    LabelStyle{}コントロールエリアのスタイル指定
    LocalizeVariablesTrue変数を局所化するかどうか
    PaneledTrue表示された出力をパネルに入れるかどうか
    PreserveImageOptionsTrueグラフィックスを再生成する際に画像サイズと他のオプションを保存するかどうか
    RotateLabelFalse枠の上の y ラベルを回転させるかどうか
    SaveDefinitionsFalseexpr と関連するすべての定義を保存するかどうか
    ShrinkingDelay0表示されたオブジェクトが小さくなる場合の縮めるまでの遅延時間
    SynchronousInitializationTrue初期化を同期して行うかどうか
    SynchronousUpdatingAutomatic更新を同期して行うかどうか
    TouchscreenAutoZoomFalseタッチスクリーン上でアクティベートされたときに自動でフルスクリーンにズームするかどうか
    TouchscreenControlPlacementAutomaticタッチスクリーン上でのコントロールの置き方
    TrackedSymbolsFullその変更が出力の更新を引き起す記号
    UndoTrackedVariablesNone変更された場合に,フロントエンドの取消し機能によって追跡されるべき変数
    UnsavedVariablesNone値を保存すべきではない変数
  • オプションControlPlacementおよびControlTypeは,の形式で,それぞれの変数に別々に与えることができる.
  • Manipulateはレキシカルスコープを実装するスコープ構文である.
  • Manipulateは,変数 uv 等を局所的に指定してDynamicModuleオブジェクトを生成する.
  • デフォルト設定のUnsavedVariables->{}では,変数 uv 等の値は自動的にノートブックに保存され,ノートブックが再度開かれたときに復元される.
  • Initialization:>expr の設定では,Manipulateが実行されたとき,あるいは特定のセッションで結果が最初に表示されたときに式 expr が評価される.
  • AppearanceElementsの設定として,リスト中にを任意の順序で指定することができる.デフォルトではのみが含まれる.
  • スナップショットボタンをクリックするとManipulate出力の真下に全変数の現行値を指定するWith[{u=uval,},expr]形式の入力を含むセルが作られる.
  • ContinuousAction->Noneという設定のときは明示的な更新ボタンが表示され,これが押されるまで は再評価されない.
  • デフォルト設定のTrackedSymbols->Automaticでは,expr に明示的に現れる記号だけが追跡記録される.
  • TrackedSymbols->TrueManipulateのコントロールに現れたシンボルを追跡する.
  • TrackedSymbols->Allとすると,評価中に遭遇した記号が変化するたびに出力が更新される.
  • デフォルト設定のControllerLinking->Automaticでは,Manipulateが現行選択の一部である場合は常に,Manipulate中のコントロールは外部デバイスにある指定コントローラに対応する.
  • ゲームパッドのような外部デバイス上のコントローラは,ジョイスティック,ボタン等を含むことができる.
  • 外部コントローラ指定には次のようなものがある.
  • またはx x の主値
    またはy y の主値
    またはz z の主値
    または{x,y}2軸コントローラの主値
    または{x,y,z}3軸コントローラの主値
    xy第2コントローラからの値
    x循環的であると解釈される値
    x絶対的なコントロール位置からの値
    トグルスイッチで切り換えられるボタンの状態
    瞬間的なボタンの状態
  • 特定のWolframシステムセッションでアクティブなデバイスのための生の外部コントローラ指定名は,一般にControllerInformationを使って見付けることができる.
  • デフォルト設定のControllerMethod->Automaticでは,「」のようなコントローラ指定は,デフォルトでジョイスティック等のコントロールの移動は対応する変数 x の値の変化率を決定することを意味する.例えばジョイスティックを押すことによって別の状態が選ばれると,コントロールの絶対的な位置が x の値を直接決定する.
  • 」のようなコントローラ指定では,ジョイスティックのようなコントロールの絶対的な位置が,対応する変数 x の値を決定する.
  • 」のようなコントローラ指定では,一般にコントロールが範囲の端に達すると対応する変数 x の値は循環的にラップするとされる.
  • 」のようなコントローラ指定は,例えば1つのコントローラ上の2つの異なるジョイスティックの軸のように外部デバイス上の複数のコントロールと関連している可能性がある.
  • ゲームパッドや2つのジョイスティックがあるその他のデバイス上では,「」は一般に左側のスティックを指し,「」は一般に右側のスティックを指す.ゲームパッドに「hat」コントロールがある場合は,一般に「」でこれを指す.
  • 」のようなボタンコントローラ指定は,対応するボタンが押されるたびにTrueFalseを切り換える.
  • 」のような絶対指定はボタンが押されている間はTrueを,それ以外はFalseを返す.
  • BaseStyleおよびLabelStyleの設定値は,一般に現行スタイルシートのスタイルとスタイルで与えられるデフォルトスタイルに加えられる.
2007年に導入
(6.0)
| 2012年に修正
(9.0)