1

x 軸が単調に増加するのではなく、独自の値を持つグラフをプロットするために matlab を使用します。例: 5 14 8 9 12 7set (gca,'XTickLabel',num2str(mydata))など。ただし、mydata が 4 桁または 5 桁を超える場合、Matlab はグラフをスケーリングするため、x 軸の値は意図した点に対応しなくなります。このスケーリングを防ぐ方法についてのアイデアはありますか? 明確にするために、図を大きくすると、プロットが正しく表示されます。

4

2 に答える 2

0

問題はあなたのnum2str()変換にあります:

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

これは、各ティックがこの長い 1 行 n 列の文字配列でラベル付けされることを意味します。軸は、Figure 内のラベルに合わせてサイズ変更されます。

解決策は、char 配列のごとに 1 つのラベルを作成することです。

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 に答える