4

matlab でプロットする 3 次元データがあります。データ セットは、次のような y 方向に沿って異なるパラメーターを持つ 10 個の指数曲線を積み重ねることによって構築されます。

  x = 0:0.01:15;
  x0 = 0.5;
  y = [beta1, beta2, beta3, beta4, beta5, beta6, beta7, beta8, beta9, beta10];
  Z(1, :) = A*exp(-(x-x0).^2/beta1);
  Z(2, :) = A*exp(-(x-x0).^2/beta2);
  Z(3, :) = A*exp(-(x-x0).^2/beta3);
  Z(4, :) = A*exp(-(x-x0).^2/beta4);
  ...
  Z(10, :) = A*exp(-(x-x0).^2/beta10);
  % here A could be change based on beta too (no code shown here)

高さ(つまり、垂直線)が端に表示されないようにすることを除いて、滝でZをプロットしようとしています。データを滝のような曲線としてプロットする他の方法があるかどうかはわかりませんが、それらの垂直線はありません。ありがとう

次の図の丸で囲まれた縦線を取り除く方法

4

2 に答える 2

2

「表面のパッチの代わりに線でプロットされます」。
つまり、境界線を非表示にする必要があります。境界線は直接含めることができる配色とは別のものであるため、これは簡単なことではありません。あなたがする必要があるのは、それが描かれた後にデータを取得し、それに応じてそれを変更することです:

例えば

[X,Y,Z] = peaks(30);
h = waterfall (X,Y,Z);
CD = get (h, 'CData');
CD(1,:) = nan;
CD(end-2:end,:) = nan;
set (h, 'CData', CD)

CD(1,:)これは「上昇」境界用でCD(end-2:end-1,:)あり、は下降境界CD(end,:)用であり、下部用であることに注意してください。

于 2012-05-07T17:47:55.543 に答える