2

0 から 96 までの x 軸があり、すべての数字は 1 日の 1/4 時間 (96/4 = 24 時間) を表します。0 から 24 までの時間を表示する軸が必要です。プロット後に軸のみを変更する方法はありませんか?

4

2 に答える 2

1

以下を使用できます。

>> set(gca, 'XTick', 0:4:96);
>> set(gca, 'XTickLabel', 0:24);

例えば:

>> plot(0:96,0:96)
>> set(gca, 'XTick', 0:4:96);
>> set(gca, 'XTickLabel', 0:24);

結果の図:

ここに画像の説明を入力

于 2013-05-11T18:58:03.003 に答える
1

いくつかの方法があります。良い方法は、プロットの x データを変更することです。

%# get handles of plot objects
chH = get(gca,'children');
%# for each child: divide the x-data by 4 and put it back
if length(chH) == 1
   set(chH,'xdata',get(chH,'xdata')/4);
else
   set(chH,{'xdata'},cellfun(@(x)x/4,get(chH,'xdata'),'uni',0));
end
xlim([0 24])

これは、現在の軸にプロットされたオブジェクトの x データを読み取り、それを 4 で割り、元に戻します。次に、軸の範囲を 0...24 に変更します

于 2013-05-11T18:31:31.773 に答える