【问题标题】:Set x-axis to non-monotonic values and avoid scaling将 x 轴设置为非单调值并避免缩放
【发布时间】:2013-08-13 22:41:38
【问题描述】:

我使用 matlab 绘制一个图表,其中 x 轴不是单调增加,而是我有自己的值。例如 5 14 8 9 12 7 等。我使用 set (gca,'XTickLabel',num2str(mydata)) 通常可以工作。但是,当 mydata 超过四位或五位时,Matlab 会缩放图形,因此 x 轴值不再对应于它们的预期点。关于如何防止这种缩放的任何想法?澄清一下,当我把图放大时,它会按原样显示图。

【问题讨论】:

    标签: matlab plot matlab-figure axis-labels


    【解决方案1】:

    问题在于您的num2str() 转换:

    mydata = 1:10;
    num2str(mydata)
    ans = 
    1   2   3   4   5   6   7   8   9  10
    

    这意味着,每个刻度都将用这个长 1 x n 字符数组标记。然后将调整轴的大小以适合图形内的标签。

    一种解决方案是为 char 数组的每 创建一个标签:

    reshape(sprintf('%2d',mydata),2,[])'
    ans =
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    

    【讨论】:

      【解决方案2】:

      解决办法是在set (gca,'XTickLabel',num2str(mydata))之前写set(gca,'xtick',1:myDataVectorLength)

      【讨论】:

      • 这不可能。我不确定这如何解决您的问题,并希望看到一个示例。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-03
      • 1970-01-01
      相关资源
      最近更新 更多