如何更改Plotyy第二轴的颜色和字体大小?

时间:2012-07-07 10:25:35

标签: matlab

我使用MATLAB的plotyy函数绘制了两条曲线:

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

问题是我无法改变第二轴(右边)的颜色和字体。下图是我的plotyy函数的输出。 enter image description here

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)),他们可以看到右轴的所有属性,似乎没有颜色属性。所以我想知道问题出在哪里以及如何更改右轴的颜色和字体大小(?)

2 个答案:

答案 0 :(得分: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', []);

答案 1 :(得分:1)

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