2

いくつかのデータからサーフェスをプロットしました。同じプロットで、3D ラインが必要です (プロットするラインの [x,y,z] 値があります)。同じ図で plot3(x,y,z) を使用してこれを実行しようとすると、線は常に表面の下にあります。

これを修正する方法はありますか?この問題が Matlab でも発生するかどうかはわかりません。

最小限の例:

figure;
hold all;

y = x = 0:35;
z = ones(1,36).*0.5;
plot3(x,y,z);

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surf(Z);

結果 (青い線は表面の下にあります):

例

4

2 に答える 2

0

surfOctaveでもこの問題が発生したため、mesh代わりに関数を使用しました。それはきれいではなく、異なるパラメータを持っていますが、線を重ねることができます: Octave でメッシュをオーバーレイする plot3 ライン

上記と同じコードで作成しましたが、次のものに置き換えsurfます。

    mesh ((X+8)*2.2, (Y+8)*2.2, Z);

meshパラメータをスケールアップする必要があったためです。結果はほぼ同じです。

于 2015-09-14T22:18:03.393 に答える