Title over group of subplots

前端 未结 3 1775
猫巷女王i
猫巷女王i 2021-01-11 17:03

there are many subplots and each subplot has its own title. how can add a title over all of these group of subplots? I want this title to be shown at top center.

<         


        
相关标签:
3条回答
  • 2021-01-11 17:30

    Since Matlab 2018b, the new function sgtitle adds a title to a subplot group, simply add sgtitle('Subplot Title');. It doesn't need a toolbox.

    For example:

    subplot(1,2,1)
    plot(cos(0:40));
    title('cos');
    
    subplot(1,2,2)
    plot(sin(0:40))
    title('sin');
    
    sgtitle('Trigo');
    

    0 讨论(0)
  • 2021-01-11 17:45
    x = linspace(-5,5);
    
    y1 = sin(x);
    subplot(2,5,[1:2])
    plot(x,y1)
    title('y=sin(x)')
    
    y2 = cos(x);
    subplot(2,5,[3:4])
    plot(x,y2)
    title('y=cos(x)')
    
    y3 = tan(x);
    subplot(2,5,[5,10])
    plot(x,y3)
    title('y=tan(x)')
    
    y4 = sin(2*x);
    subplot(2,5,[6:7])
    plot(x,y1)
    title('y=sin(2x)')
    
    y5 = cos(2*x);
    subplot(2,5,[8:9])
    plot(x,y2)
    title('y=acos(2x)')
    
    suptitle('my title');
    
    0 讨论(0)
  • 2021-01-11 17:48

    The simplest way I have found for people without the bioinformatics toolbox is this:

    a = axes;
    t = title('My title');
    a.Visible = 'off';
    t.Visible = 'on';
    

    What you're doing is creating a new set of axes which, by default, covers the whole figure, and creating a title on those axes. Then the axes are made invisible, and this is overridden for the title which is made visible again.

    If the resulting title collides with things, fiddle with a.Position to move the axes around.

    Yes, it's ridiculous that this isn't part of base functionality, but there are plenty of one- or two-line functions hidden in toolboxes that one might say that about ;-) (looking at you, range.)

    0 讨论(0)
自定义标题
段落格式
字体
字号
代码语言
提交回复
热议问题