0

myval という 2 次元行列があります。サイズは21x11です。

私がやりたいことは、最初の 11 行とすべての列、つまり 11x11 のみをプロットすることです。そのため、matlab で bar3 関数を使用してこれを行うと、適切なプロットが得られます。

現在、z 軸は、myvalマトリックスに格納されている実際の値です。しかし、代わりに x 軸と y 軸の値 (対応する行と列を表す) を 0 から開始したい場合があります。つまり、(1,1) の値は (0,0) になり、(1,2) の値は (0,1) になります。myvalマトリックスの実際の値を変更したくありません。軸をずらしたいだけです。これは私の実際のコードです

     bar3(myval(1:t,:));
     xlim([0 p]); 
     ylim([0 t]);
     zlim([0 1); 
     set(gca,'fontsize',16); 
     set(gca,'XTick',(0:2:p)); 
     set(gca,'YTick',0:2:t); 
     set(gca,'ZTick',0:1);
4

1 に答える 1

0

x と Y の両方の入力を指定する必要があります。そうすれば、必要なbar3場所に列が表示されます。

x = 0:10;
Y = myval(1:t,:);
bar3(x,Y)

または、x 軸と y 軸の両方を制御するには、次を使用できます。

x = 0:10;
bar3(Y)
set(gca,'YTickLabel', x)
set(gca,'XTickLabel', x)
于 2013-03-27T18:34:01.233 に答える