【问题标题】:I have a questions regarding matlab figures. I use bar3 function in matlab and want to adjust my axes我对matlab数字有疑问。我在 matlab 中使用 bar3 函数并想调整我的轴
【发布时间】:2013-03-28 02:49:09
【问题描述】:

我有一个名为 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);

【问题讨论】:

  • 这个问题的措辞,根本不清楚你想要什么

标签: matlab


【解决方案1】:

您需要同时给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)

【讨论】:

  • 我试过这样做。让我实际使它更准确地说我想要什么。在 x 和 y 轴上的位置 1,我想要值 0,依此类推。我可以转到轴属性并手动进行。但是当我需要非常频繁地使用它时,它就很乏味了。
  • 我发现 tick 用于设置图表上的刻度位置,而 ticklabel 用于标记这些刻度位置中的特定刻度。
  • @Molly 问题是如何为绘图提供实际的 x/y 值,而不仅仅是更改它们的标签。仅更改标签是不够的,例如,如果您想使用 scatter3 或其他方式向绘图添加更多点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-21
  • 1970-01-01
  • 2021-02-05
  • 1970-01-01
  • 2018-10-09
  • 1970-01-01
相关资源
最近更新 更多