ドキュメンテーション

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

グラフの一部が切り取られる理由

座標軸の境界を超えないグラフィックス オブジェクト

R2014b からは、グラフィックス オブジェクトは座標軸の境界を超えません。オブジェクトは、座標軸の範囲で定義される座標軸のボックスの 6 面にクリップされます。たとえば、MATLAB® では、指定した z の範囲を超えた位置にある次の表面のピークは表示されません。

surf(peaks);
zlim([-3,4.5]);

R2014a 以前の MATLAB では、別の手法を使用してオブジェクトをクリップしていました。MATLAB は座標軸の範囲でクリップするのではなく、座標軸を囲む最小の 2 次元の長方形でクリップしています。たとえば、以前のリリースでは、前述の同じ表面プロットは指定した z の範囲を超えていました。赤の四角形は、クリップに使用した境界を示します。

surf(peaks);
zlim([-3,4.5]);

クリップの無効化

Axes および Axes に含まれる各オブジェクトには、クリップ動作を制御する Clipping プロパティがあります。既定では、このパラメーターは 'on' に設定されます。クリップを無効にするには、Clipping プロパティを 'off' に設定します。

Axes の Clipping プロパティが 'on' の場合、Axes の個々のオブジェクトがそれぞれのクリップ動作を制御します。Axes のすべてのオブジェクトのクリップを無効にするには、Axes の Clipping プロパティを 'off' に設定します。次の表に、Clipping プロパティの値をさまざまな組み合わせの結果を示します。

Axes の Clipping プロパティ各オブジェクトの Clipping プロパティ結果
'on''on'個々のオブジェクトがクリップされる (既定)
'on''off'個々のオブジェクトはクリップされない
'off''on'Axes 内のオブジェクトはどれもクリップされない
'off''off'Axes 内のオブジェクトはどれもクリップされない

たとえば、Axes 内のすべてのオブジェクトのクリップを無効にするには、Axes の Clipping プロパティを 'off' に設定します。

surf(peaks);
zlim([-3,4.5]);
ax = gca;
ax.Clipping = 'off';

クリップ スタイルの制御

新しい Axes プロパティである ClippingStyle は、オブジェクトのクリップに使用する手法を制御します。このプロパティを次のいずれかの値に設定します。

  • '3dbox' — 座標軸の範囲で定義される座標軸のボックスの 6 面にオブジェクトをクリップします。これは既定値です。

  • 'rectangle' — 任意の表示において座標軸を囲む最小の 2 次元の四角形にオブジェクトをクリップします。

R2014a 以前と同じスタイルのクリップを行うには、ClippingStyle'rectangle' に設定します。

surf(peaks)
zlim([-3,4.5]);
ax = gca;
ax.ClippingStyle = 'rectangle';

参考