Matlab:如何检索 plotyy 的标题、xlabel、ylabel 和字体?

Matlab: how do I retrieve the title, the xlabel, the ylabel and font of a plotyy?

我有一些数字,我想更改:

  1. 标题
  2. xlabel 和 ylabel(字体大小和内容)
  3. 刻度大小。

我通常是这样做的:

title('new title ');
xlhand = get(gca,'xlabel');
set(xlhand,'string','xlabel','fontsize',13);
ylhand = get(gca,'ylabel');
set(ylhand,'string','ylabel','fontsize',13);
set(gca,'FontSize',13);

它通常工作正常。但是,当我想编辑使用 ploty 函数绘制的图时,它不起作用。唯一的影响就是我的右ylabel变了。

我知道,因为我现在有两个 ylabels,所以更改它们不会像普通情节那样容易。但是,令我惊讶的是我无法更改 xlabels 和标题。这是为什么?

上面关于 plotxy 函数的代码有什么问题?我怎样才能让它发挥作用? documentation 不包含任何相关信息。

我正在使用 Matlab R2015a。

编辑: 是的,我的意思是 plotyy(我的问题有错别字)。这是文档中的示例代码:

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);

figure % new figure
plotyy(x,y1,x,y2) 

如果您查看文档,您会发现 plotyy 可以 return 轴手柄。所以首先,你选择获取句柄:

Ax = plotyy(x,y1,x,y2);

现在,Ax(1) 是左轴的句柄,Ax(2) 是右轴的句柄。所以你可以改变他们每个人的属性,例如

set(Ax(1),'FontSize',13);

由于我不完全理解的原因,设置标签是使用

完成的
set(get(Ax(1),'YLabel'),'String','Whatever you want...');

编辑:

如果您已经绘制了数据,您可以使用

检索句柄
Ax = findobj(gcf,'type','axes')

不使用 getset 的文档:

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);

figure % new figure
hAx = plotyy(x,y1,x,y2);

title('Multiple Decay Rates')
xlabel('Time (\musec)')

ylabel(hAx(1),'Slow Decay') % left y-axis
ylabel(hAx(2),'Fast Decay') % right y-axis

然后通过

更改值
xlabel('New label','fontsize',10)
title('New Title','fontsize',10)
ylabel(hAx(2),'Fast Decay','fontsize',20)
hAx(1).FontSize=5