2012-07-07 135 views
0

我已经作图使用MATLAB的plotyy函数的两条曲线:如何更改Plotyy的Seond轴的颜色和字体大小?

[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

要更改右轴的字体大小,输入以下代码(?):

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 

但是,要更改左轴的标签,您应该写入t他:

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

因为'Ylabel'属性实际上包含标签对象的句柄。

顺便说一句,去除右轴的XTicks,这样做:

set(AX(2),'XTick', []); 
+0

有一个小麻烦下面这个答案,因为它似乎AX设置莫名其妙,但我不太明白如何。如果你可以在你的例子中设置AX,那么这很棒,所以那些不熟悉的人可以看到发生了什么(谷歌上的所有例子似乎都假设我们知道AX是什么,但是matlab似乎暗示我不知道) – 2014-12-09 21:11:47

+0

@DavidParks:它是plotyy函数的第一个输出,因为它在问题开始时已经显示。 – 2015-08-12 13:46:12

1
set(AX(1), 'YColor', [0 1 0]) 
set(AX(2), 'YColor', [1 0 1]) 
相关问题