0

MATLAB の plotyy 関数を使用して 2 つの曲線をプロットしました。

[AX,H1,H2] = plotyy(voltage_span, amplitude,voltage_span, Ca_SR);

問題は、2 番目の軸 (右軸) の色とフォントを変更できないことです。次の図は、私の plotyy 関数の出力です。 ここに画像の説明を入力

MATLAB ヘルプには、軸のラベルを変更するには、次を使用する必要があると記載されています。

set(get(AX(1),'Ylabel'),'String','Slow Decay') 
set(get(AX(2),'Ylabel'),'String','Fast Decay')

だから、私は次のコマンドを試しました(これは機能しません):

set(get(AX(2),'YColor'),[1 0 1]); % MATLAB gives ERROR! Invalid handle object.

get(AX(2)) を入力すると、color プロパティがないように見える右軸のすべてのプロパティが表示されます。そこで、どこが問題なのか、右軸の色やフォントサイズを変更するにはどうすればいいのか(?)

4

2 に答える 2

2

右軸のフォント サイズを変更するには、次のコードを入力します。

set(AX(2),'YColor', [1 0 0]); % Change the right Axis's color to red
set(AX(2),'FontSize', 20); % Change the right Axis's font size to 20

「YColor」プロパティは右軸の色です。Ax(2) はハンドルを右軸 (および Ax(1) は左軸) に保持します。

以下が機能しない理由を尋ねるかもしれません。

set(get(AX(2),'YColor'),[1 0 1]);

その理由は、「YColor」はハンドルではなく、

get(AX(2),'YColor') 

単純に右軸の色を返します (デフォルトでは明るい緑色です):

>> get(AX(2), 'YColor')

ans =

         0    0.5000         0

ただし、左軸のラベルを変更するには、次のように記述します。

set(get(AX(2),'Ylabel'),'String','Fast Decay')

「Ylabel」プロパティには、実際にはラベル オブジェクトへのハンドルが含まれているためです。

ところで、右軸の XTicks を削除するには、次のようにします。

set(AX(2),'XTick', []);
于 2012-07-07T10:39:34.370 に答える
1
set(AX(1), 'YColor', [0 1 0])
set(AX(2), 'YColor', [1 0 1])
于 2012-07-07T10:30:53.070 に答える