最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

チャートの対話機能の制御

プロットされたデータを対話的に確認および編集して、データの視覚的な表示を改善したり、データに関するその他の情報を明らかにすることができます。使用できる操作は座標軸の内容によって異なりますが、通常は、ズーム、移動、回転、データ ヒント、データのブラシ選択、元の表示の復元などがあります。

一部のタイプの操作は、座標軸ツール バーでのみ使用できます。ツール バーは、チャート領域にカーソルを置くと座標軸の右上隅に表示されます。

他のタイプの操作は座標軸に組み込まれており、ドラッグしてパン、スクロールしてズームなどの動作を介して使用できます。これらの操作は、座標軸ツール バーの操作とは別に制御されます。

チャートを作成するときは、使用可能な操作のセットをいくつかの方法で制御できます。

R2018a およびそれ以前のリリースでは、座標軸ツール バーの代わりに、Figure ツール バーに操作オプションの多くが表示されます。また、以前のリリースでは、操作はいずれも座標軸に組み込まれていません。

座標軸ツール バーの表示または非表示

座標軸ツール バーを表示または非表示にするには、AxesToolbar オブジェクトの Visible プロパティをそれぞれ 'on' または 'off' に設定します。たとえば、現在の座標軸のツール バーを非表示にします。

ax = gca;
ax.Toolbar.Visible = 'off';

座標軸ツール バーのカスタマイズ

関数 axtoolbar および axtoolbarbtn を使用して、座標軸ツール バーで使用できるオプションをカスタマイズできます。

メモ

カスタム ツール バーは、ライブ エディターの Figure に表示されません。カスタム ツール バーを表示するには、別の Figure ウィンドウで Figure を開きます。

たとえば、座標軸のグリッド ラインの表示と非表示を切り替えるカスタムの状態ボタンを座標軸ツール バーに追加します。まず、mycustomstatebutton.m というプログラム ファイルを作成します。プログラム ファイル内で次を行います。

  • 乱数データをプロットします。

  • 関数 axtoolbar を使用して、ズーム イン、ズーム アウト、表示の復元の各オプションをもつ座標軸ツール バーを作成します。

  • 関数 axtoolbarbtn を使用して、ツール バーに空の状態ボタンを追加します。ToolbarStateButton オブジェクトを返します。

  • IconTooltipValueChangedFcn の各プロパティを設定して、状態ボタンのアイコン、ツール ヒントおよびコールバック関数を指定します。この例では アイコンを使用します。まず、これを mygridicon.png というイメージ ファイルとしてパス上に保存しなければなりません。

プログラム ファイルの実行後、アイコンをクリックしてグリッドラインの表示と非表示を切り替えます。

function mycustomstatebutton

plot(rand(5))
ax = gca;
tb = axtoolbar(ax,{'zoomin','zoomout','restoreview'});

btn = axtoolbarbtn(tb,'state');
btn.Icon = 'mygridicon.png';
btn.Tooltip = 'Grid Lines';
btn.ValueChangedFcn = @customcallback;

    function customcallback(src,event)
        switch src.Value
            case 'off'
                event.Axes.XGrid = 'off';
                event.Axes.YGrid = 'off';
                event.Axes.ZGrid = 'off';
            case 'on'
                event.Axes.XGrid = 'on';
                event.Axes.YGrid = 'on';
                event.Axes.ZGrid = 'on';
        end
    end

end

組み込み操作の有効化または無効化

組み込み操作のセットをチャート内で有効にするかどうかを制御するには、関数 disableDefaultInteractivity および関数 enableDefaultInteractivity を使用します。MATLAB® では、組み込み操作を自動的に無効にする場合があります。たとえば、特殊な機能をもつチャートの場合や、WindowScrollWheelFcn など特定のコールバックを実装する場合に無効にされることがあります。

組み込み操作のカスタマイズ

ほとんどのタイプの座標軸には、特定の動作に対応する組み込み操作のセットが既定で含まれています。使用可能な操作は、座標軸の内容によって異なります。ほとんどの直交座標軸には、スクロールしてズーム、カーソルを合わせるかクリックしてデータ ヒントを表示、ドラッグしてパン (2 次元表示) または回転 (3 次元表示) の各操作が含まれています。既定のセットを新しい操作セットに置き換えることはできますが、既定のセットの操作にアクセスしたり、変更したりすることはできません。

メモ

組み込みの操作をカスタマイズまたは置換することは、ライブ エディターではサポートされていません。

既定の操作を置き換えるには、座標軸の Interactions プロパティを操作オブジェクトの配列に設定します。操作オブジェクトの互換性のある組み合わせを、以下の表から選択します。すべての操作を座標軸から削除するには、プロパティを空の配列 ([]) に設定します。

操作オブジェクト説明互換性のある操作
panInteractionドラッグによるチャート内のパン。regionZoomInteraction および rotateInteraction を除くすべて
rulerPanInteractionドラッグによる座標軸のパン。すべて
zoomInteractionスクロールまたはピンチ操作によるズーム。すべて
regionZoomInteractionドラッグによる四角形領域の拡大
(2 次元チャートのみ)。
panInteraction および rotateInteraction を除くすべて
rotateInteractionドラッグによるチャートの回転。panInteraction および regionZoomInteraction を除くすべて
dataTipInteractionカーソル配置、クリック、またはタップによるデータ ヒントの表示。すべて

たとえば、1000 個の散布点を含むプロットを作成します。

x = 1:500;
y = randn(1,500);
y2 = 5*randn(1,500) + 10;
plot(x,y,'.',x,y2,'.')

既定では、このプロットには、チャート領域内でのドラッグによるパンを含む操作セットが含まれています。しかし、プロットには稠密な点の集まりがあるため、操作セットにプロットの特定領域を拡大できる操作が含まれているほうが便利かもしれません。regionZoomInteraction オブジェクトはこの機能を提供します。現在の座標軸の既定の操作セットを、regionZoomInteraction オブジェクトを含む配列に置き換えます。

ax = gca;
ax.Interactions = [zoomInteraction regionZoomInteraction rulerPanInteraction];

これで、プロット領域内でのドラッグによって、拡大対象となる四角形の関心領域が定義されます。

参考

関数

プロパティ

関連するトピック