0

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

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

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

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 回答