呼び出して 2 つのオブジェクトplotyy
を作成します。axis
オーバーラップの問題は、おそらく、これらの軸の 1 つのセットのみを変更し、もう 1 つのセットは最初に設定されたままにしておくという事実から発生します。
1 つのオプションは、次の方法で呼び出すときに、作成された軸の両方を処理することですplotyy
。
[AX, H1, H2] = plotyy( time, xvalue, time, dens);
ここでの最初のオプションは、妥当性を次のようAX
に変更して、 handler の配列に含まれる両方の軸を設定することです。'XTick'
set( AX(1), 'XTick', time(labs), 'XTickLabel', time(labs));
set( AX(2), 'XTick', time(labs), 'XTickLabel', time(labs));
ただし、2 番目の軸のラベルを空のままにして、上記の 2 行目を置き換えるオプションもあります。
set( AX(1), 'XTick', time(labs), 'XTickLabel', time(labs));
set( AX(2), 'XTick', time(labs), 'XTickLabel', []);
plotyyとUsing Multiple X- and Y-Axesの公式ドキュメントは、さらに役立ちます。
そこでの例、つまりplotyy のドキュメントを見ると、次のようになります。
figure
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
前に行ったように、 だけを変更してみてくださいAX(2)
。これは、次のように記述したものと同等ですgca
。
set(AX(2),'XtickLabel',1:0.1:20)
同じ重複エラーが発生することがわかります。
ラベルを 90 度回転させることに関しては、残念ながら現在 Matlab ではサポートされていません。ただし、FileExchange で利用可能なパッケージの 1 つを使用して、おそらくそれを行うことができます。xticklabelrotateまたはRotate Tick Labelのいずれかが 1 つである可能性があります。