Matlabで3Dサーフェスをプロットしようとしていますが、プロットをz次元で少し「圧縮」したいと思います。これで、x、y、z軸の長さが同じになり、プロットは立方体のように見えます。軸の制限を変更せずに、z次元でよりフラットに見えるようにしたいと思います。
これを達成する簡単な方法はありますか?
Matlabで3Dサーフェスをプロットしようとしていますが、プロットをz次元で少し「圧縮」したいと思います。これで、x、y、z軸の長さが同じになり、プロットは立方体のように見えます。軸の制限を変更せずに、z次元でよりフラットに見えるようにしたいと思います。
これを達成する簡単な方法はありますか?
DataAspectRatio
軸のプロパティとプロパティをいじってみてください。これらは、対応するコマンドとコマンドPlotBoxAspectRatio
によっても制御できます。pbaspect
daspect
%// Plot surface
[X, Y] = meshgrid(-10:.1:10, -10:.1:10);
Z = 100 - X .^ 2 - Y .^ 2;
surf(X, Y, Z, 'EdgeColor', 'None')
%// Flatten the z-axis a bit
pbaspect([1 1 .2])
daspect([1 1 50])
元のプロット:
平坦化されたプロット: