将x轴设置为非单调值并避免缩放

时间:2013-08-13 22:41:39

标签: matlab plot matlab-figure axis-labels

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

2 个答案:

答案 0 :(得分:0)

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

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

这意味着,每个tick都将使用这个long 1 by n char数组标记。然后调整轴的大小以适合图中的标签。

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

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

答案 1 :(得分:-1)

解决方案的一部分是在set(gca,'xtick',1:myDataVectorLength)

之前写set (gca,'XTickLabel',num2str(mydata))