2016-04-19 5 views
0

私の日付を含むベクトルt = [YYYYMM]を使用しています。これをベクターxに対してプロットしています。plot(t,x); 私の問題は、199402と199502の間に100の値がないようにx軸のスケーリングを調整するにはどうしますか? ノー成功を収めて、のXTickを使用してみました、そして[1:size(t)]でトンを交換し、その後、これは私が完全には理解していない理由のために、オフスケールを生成異なる数値ベースシステムを使用するようにmatlabプロットを教えてください

set(gca, 'XTickLabel', labels) 

を使用して、すべてをフォーマットしています。

私はdateticks()オプションを検討しましたが、私の場合は実装することを知らないでしょう。

答えて

4

あなたはダニ位置があなたのケースtで、XDataに関連しているので、1:size(t)XTickを設定する必要はありません。代わりに、tから12個の要素にXTickを設定する必要があります。

plot(t,x) 

%// New tick locations 
newticks = t(round(linspace(1, numel(t), 12)); 

set(gca, 'XTick', newticks) 

%// If you want to reset to using all ticks again 
set(gca, 'XTick', t) 

これを行うと、ラベルが自動的に更新されます。

+0

ありがとうございました!私はこれをうまく表現しなかった、私はxTickを1に設定しなかった:size(t)、私は[1:size(t)]でプロットのtを置き換えた。 – BigBadWolf

+0

更新:私はあなたの答えのために間違っていたことを発見しました。私の最終的な解決策はベクトルtを使わず、代わりに[1:sizeof(t)]を使い、XTickとXTickLabelを手動で設定することでした。美しい解決策ではありませんが、機能します。 – BigBadWolf

関連する問題