0

我有一个名为 myval 的二维矩阵。它的大小是 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

您需要bar3同时提供 x 和 Y 输入,然后列将出现在您想要的位置。

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 回答