1

サブプロットされた 9 つのプロットの軸に何が起こっているのか、少し問題があります。私はsubplot(3,3,x)9つのプロットの3x3グリッドを作成するために使用しており、軸の目盛りにカスタムラベルを付けています

set(gca, 'XTickLabel', {'0,0','0,1','0,2','1,0','1,1','1,2','2,0','2,1','2,2'});
set(gca, 'YTickLabel', {'0,0','0,1','0,2','1,0','1,1','1,2','2,0','2,1','2,2'});

そして問題は、指定されたティックのすべてがサブプロットに表示されるわけではないことです-それらの約半分だけであり、それらは間違った場所に表示されます.

これは、すべての目盛りとラベルを配置するのに十分なスペースがなく、結果として圧縮されたサブセットを表示するのに十分なスペースがないと考えている matlab だと思いますが、それを実行しただけでは問題ないように見えます。どうすればすべて表示されますか??

4

3 に答える 3

4

Figure の軸の 'Xtick' & 'Ytick' プロパティを設定できます。それらは、どのティックが表示されるかを定義します。あなたの場合、最初の 9 つの xticks と最初の 9 つの yticks を表示したい場合、次のコマンドで実行できます。

set(gca,'Xtick',1:9, 'Ytick',1:9)

2 番目のティックごとに表示する場合は、次のようにします。

set(gca,'Xtick',1:2:9,'Ytick',1:2:9)

お役に立てれば。

于 2012-11-01T14:16:41.453 に答える
3

これらのコマンドを使用してカスタムの目盛りラベルを設定すると、その時点で目盛りがどこにあるかが表示されます。あなたはダニが何であるかを見ることができます

get(gca,'YTick');

例えば:

plot(-2:2)
get(gca,'YTick');

を返します[-2 -1.5 -1 -0.5 0 0.5 1 1.5 2]。今使用する場合

set(gca,'yticklabel',{'a','b','c','d','e'})

次に、これらの文字は最初の(-2)から始まるすべての目盛りに表示され、目盛りラベルよりも目盛りが多いため、次のように目盛りラベルが繰り返されます。 ここに画像の説明を入力してください

つまり、これらはダニですが、ラベルを使用することを意図している可能性があります。これを次のように追加します。

ylabel('this is the ylabel');
xlabel('and this the xlabel');

ここに画像の説明を入力してください

それで遊んで、何が起こっているのかを学びましょう、それはそれほど難しいことではありません;)

PS:サブプロットを使用すると、軸オブジェクトごとに異なる軸を作成し、異なる目盛りを設定できます。デフォルトでは、軸はリンクされていませんが、完全に独立しています。を使用すると、現在のgca軸が返されます。つまり、サブプロットが返されます。最後に作成または選択された軸は!subplot(3,3,x)

したがって、目盛りを設定する場合、ラベルはすべての軸で他のものであり、すべて個別に行う必要があります。つまり、次のようになります。

subplot(3,3,1);
  xlabel('x');
  ylabel('y');
  title('subplot (1,1)');
  set(gca,'xticklabel',{'a','b','c'});
subplot(3,3,2);
  xlabel('x');
  ylabel('y');
  title('subplot (1,2)');
subplot(3,3,1);
  xlabel('x');
  ylabel('y');
  title('subplot (1,1)');
etc.

ここに画像の説明を入力してください

于 2012-11-01T14:38:42.717 に答える
1

それはスペースの問題です。プロット ウィンドウのサイズを大きくすると、Matlab はより多くの目盛りを表示します。set(gca,'FontSize',5)軸により多くの目盛りを合わせるために、フォント サイズを小さくすることもできます (または他のフォント サイズ値を試してください)。

于 2012-11-01T14:23:39.547 に答える