3

私は matlab に Nx3 行列があり、それから 3 次元の棒グラフを作成したいと思います。ここで、X 軸と Y 軸は行列の 1 列目と 2 列目の値によって決定され、各バーの高さは行列の 3 列目であり、棒の数は N によって決まります。

つまり、「データ」が行列の場合:

data(:, 1) % values of X-axis
data(:, 2) % values of Y-axis
data(:, 3) % values of each Z-axis bar

1:length(data) ごとに 1 つのバーが必要です。

MATLAB でこれを行うにはどうすればよいですか?

第二に、これの変形として、どうすれば同じことを行うことができますか?今回は、バーを X、Y、Z 次元ごとに N 個のビンにヒストグラム化しますか? つまり、各ポイントのバーの代わりに、データをすべての次元のビンにヒストグラムし、各ビンのバーをプロットします。

どうもありがとうございました。

4

1 に答える 1

0

最初の質問に関しては、次の方法で、リクエストに似たものを達成できます。

stem3 (data(:,1), data(:,2), data(:,3), 'marker', 'none', 'linewidth',10)

厳密にはバーではありませんが、同様の効果が得られます。

「実際の」バー(プロットなど)をプロットするには、(バーをプロットするために使用される)bar3などの低レベルのグラフィック関数を使用する必要があると思います。surfacebar3

2番目の質問については、私が理解しているかどうかわかりません---各次元のヒストグラムを計算すると、4次元データになります---各次元のビンの場所+ヒストカウント自体。正確に何をプロットしたいですか?

于 2011-03-30T11:48:39.690 に答える