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