1

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

4

2 回答 2

0

问题在于您的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
于 2013-08-13T23:01:38.650 回答
-1

解决方法是先set(gca,'xtick',1:myDataVectorLength)set (gca,'XTickLabel',num2str(mydata))

于 2013-08-13T23:00:49.770 回答