首页 文章

Matlab:我如何检索 Headers ,标签,标签的ylabel和字体?

提问于
浏览
3

我有一些数据,我想改变它们:

  • Headers

  • xlabel和ylabel(字体大小和内容)

  • 刻度尺寸 .

这就是我通常这样做的方式:

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函数创建的绘图时,它不起作用 . 唯一的影响是我的右侧标签发生了变化 .

我知道,因为我现在有两个ylabels,更改它们赢了't be as easy as for a normal plot. However, I'm,我无法改变x标签和 Headers . 这是为什么?

上面的代码与plotxy函数有什么关系?我怎样才能使它工作? documentation不包含任何相关信息 .

我正在使用Matlab R2015a .

Edit: 是的,我的意思是情节(我的问题中有一个错字) . 以下是文档中的示例代码:

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)

2 回答

  • 2

    从不使用 get 的文档, set

    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
    
  • 0

    如果查看文档,可以看到 plotyy 可以返回轴句柄 . 首先,您可以选择获取句柄:

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

    现在, Ax(1) 是左轴的手柄, Ax(2) 是右轴 . 例如,您可以更改每个属性的属性

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

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

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

    EDIT:

    如果您已经绘制了数据,则可以使用检索句柄

    Ax = findobj(gcf,'type','axes')
    

相关问题