【问题标题】:Force MATLAB to show actual numbers on xlim强制 MATLAB 在 xlim 上显示实际数字
【发布时间】:2014-02-19 22:50:47
【问题描述】:

我在 MATLAB 中有一个大小为 100 x 200 的图像。我有一个从 -99 到 100 的 xAxis。所以我这样显示图像:

mat = randn(100,200);
xAxis = [-99:100];
yAxis = [1:100];
imagesc(xAxis, yAxis, mat);

但是,我希望底部的 xaxis 显示实际数字、“-99”和“100”。现在它不显示“-99”。在其他一些组合中,它现在可能显示任一数字。

如何强制 MATLAB 显示 xAxis 上使用的实际数字?

谢谢。

【问题讨论】:

    标签: image matlab indexing


    【解决方案1】:

    好吧,您可以通过以下方式更改刻度:

    xTicks = get(gca,'xTick');
    xLim = get(gca,'xLim');
    xTicksNew = [xLim(1), xTicks];
    set(gca,'xTick',xTicksNew);
    

    【讨论】:

      【解决方案2】:

      在调用 imagesc 后添加这一行:

      set(gca', 'XTickLabel', {'-99', '-80', '-50', '20', '100'}, 'XTick', [-99 -80 -50 20 100]);
      

      这将强制在这些点上添加标签。第一个元胞数组是标签的名称,向量包含放置这些标签的值。

      【讨论】:

      • 哦,有趣的是,我不能只将它用于第一个和最后一个数字,因为中间的数字不会给我任何问题吗?
      • @mrtubis 有一个很好的方法——我在写我的时候没有看到他的答案。你可以通过设置 xTicksNew = unique([-99 xTicks 100]); 来调整他的方法。然后使用 set 函数。唯一性将确保您没有 2 100 个值。这样你就不需要像我在上面的例子中那样写出所有的数字。
      • 如果我明白你在问什么,那么你可以调整我之前的建议并执行xTicksNew = xLim;
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      相关资源
      最近更新 更多