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