如何在一组副图上插入标题?

8092次浏览(过去30天)
我想在一组子地块上放置一个标题。我该怎么做?

公认的答案

MathWorks支万博1manbetx持团队
编辑:MathWorks支万博1manbetx持团队 2021年3月15日
从R2019b开始,您可以使用平铺布局奈克斯提尔函数用于创建地块的可配置平铺。配置选项包括:
  • 控制情节之间的间距和布局的周围边缘
  • 布局顶部的共享标题选项
  • 共享x轴和y轴标签的选项
  • 用于控制平铺是具有固定大小还是可以回流的可变大小的选项
有关详细信息,请参阅合并多个绘图.
从R2018b开始,您可以使用sgtitle函数向一组子批次添加标题。例如:
子地块(2,2,1)
头衔(“第一次要情节”)
次要情节(2 2 2)
头衔(“第二副地块”)
子地块(2,2,3)
头衔(“第三次要情节”)
子地块(2,2,4)
头衔(“第四次要情节”)
sgtitle(“子地块网格标题”)
有关sgtitle函数的更多信息,请参阅://www.tianjin-qmedu.com/help/matlab/ref/sgtitle.html
在早期版本(R2018b之前)中,可以通过在面板中创建子地块并向面板添加标题来创建超级标题的外观。有关示例,请参阅://www.tianjin-qmedu.com/help/releases/R2018a/matlab/creating_plots/combine-multiple-plots.html#d119e2898
8评论
埃里克·伯纳德·迪尔格
是否可以设置多个sgtitle?我的意思是:一个标题用于子批次(2,2,1)和子批次(2,2,2),然后,另一个标题用于子批次(2,2,3)和子批次(2,2,4)?

登录以发表评论。

更多的答案(10)

杰姆斯
杰姆斯 2016年12月15日
Suptitle负责这项工作
x = 1:0.01:10;
子批次(2,2,1);地块(sin(x))
子批次(2,2,2);地块(cos(x))
子地块(2,2,3);地块(cos(x.^2))
子地块(2,2,4);地块(sin(x.^2))
suptitle (“我是超级冠军”)
6个评论
Thiviya Navanethan
Thiviya Navanethan 2021年3月17日
嗨,苏拉夫,
请尝试使用sgtitle函数,请参阅: //www.tianjin-qmedu.com/help/matlab/ref/sgtitle.html
如果这没有帮助,请联系MathWorks技术支持。万博1manbetx他们可能会进一步帮助你。 //www.tianjin-qmedu.com/万博1manbetxsupport/contact_us.html

登录以发表评论。


保罗·赫塞尔
保罗·赫塞尔 2018年10月9日
从R2018b开始,您可以使用 sgtitle 为子情节网格添加标题:

白俊文博士
白俊文博士 2017年5月9日
这是一个不需要额外功能的解决方案。
图;
子批次(2,1,1);
地块(南,南);
子批次(2,1,2);
地块(南,南);
currentFigure = gcf;
标题(currentFigure.Children(结束),“废话”);
7评论
PROSANJEET SARKAR
PROSANJEET SARKAR 2020年3月27日
您可以在2018年的matlab verison中使用它提供的sgtitile()函数

登录以发表评论。


安德斯·贝特森
安德斯·贝特森 2017年9月13日
编辑:史蒂芬 2017年9月13日
图;
次要情节(1、2、1);
地块(南,南);
次要情节(1、2、2);
地块(南,南);
哈=轴(“位置”,[0 0 1 1],“Xlim”,[0 1],“Ylim”,[0 1],“盒子”,“关”,“可见的”,“关”,“单位”,“正常化”,“剪辑”,“关”);
文本(0.5、0.98、,“头衔”)
2评论
沃尔特·罗伯森
沃尔特·罗伯森 2019年5月11日
有多种可能性。我可以马上想到的包括:
  • 为每个图像创建一个轴,为上面的每个标题和边上的每个标题创建一个轴。为此使用subplot()不是很好,因为您不希望所有的轴都是相同的大小。每个坐标轴都可以进行平移、滚动、缩放或单独的数据滚动。
  • 创建左上角的轴,其中包含用于标题和ylabel的空间以及图像。在左上角的轴下方创建用于ylabel和图像的空间的3个轴。创建右上角的轴,其中包含用于标题和图像的空间。在左上角的轴下方创建用于图像的空间的3个轴。使用子地块()因为你不希望所有的轴都是相同的大小,所以这样做不是很好。每个轴都可以被平移、滚动、缩放,或者被单独的数据诅咒。
  • 创建一个4 x 2大小相同的轴阵列,所有轴都足够大,可以容纳title和ylabel。然后小心地“折叠”轴,以便只显示想要的部分。为此使用subplot()可能不坏,但需要小心移动轴。每个轴都可以单独平移、滚动、缩放或数据光标。
  • 使用蒙太奇或类似方法创建一个4 x 2图像阵列,并将其显示在放置适当文本标签的轴上。不可能单独滚动、平移或缩放图像,并且需要额外的工作来分别对其进行数据光标移动。另一方面,覆盖多个图像的单个可移动图形光标将变为比上述其他方法更容易

登录以发表评论。


布拉德·斯蒂里茨
布拉德·斯蒂里茨 2018年9月9日
>MathWorks支持团队于2010年4万博1manbetx月26日的答复
>在MATLAB中,不可能在一组子地块上放置标题。。
恕我直言,这不是一个有用的评论,因为它显然不是真的。 它是 可能,只是没有内置的核心Matlab功能。大多数人希望继续阅读这篇文章,并了解解决方案。不过,恕我直言,作为小组讨论的开始,这并不是一个令人鼓舞或精确的声明。
2评论
克里斯拉皮尔
克里斯拉皮尔 2018年10月25日
仅供参考:suptitle仅对那些拥有生物信息学工具箱的人可用,然后它被包含在演示文件中,不是MathWorks维护的实际功能。
然而,正如Paul Huxel所指出的,现在在base MATLAB中有一个函数(r2018b)用于此 sgtitle .

登录以发表评论。


塔哈利埃沙龙酒店
塔哈利埃沙龙酒店 2021年5月25日
如何插入多行?\n不起作用。
2评论
米格尔·马丁内斯
米格尔·马丁内斯 2021年9月5日2:57
这正是我要找的。副标题的潜台词哈哈,非常感谢!

登录以发表评论。


丹
2017年10月31日
谢谢!这很好用。我设置了did>set(h,'Position',[5 1.05.5])来将超级标题放在我的子批次标题之上。

简森-巴顿
简森-巴顿 2019年7月4日
非常感谢mtit的作者!这对我来说非常有用,因为我是一个介于2018年和我最初编写代码的版本之间的人,在这个版本中,我的子地块标题居中,不需要做任何额外的事情。


埃里克·萨金特
埃里克·萨金特 2020年12月9日
编辑:埃里克·萨金特 2020年12月9日
从R2019b开始,您也可以使用 平铺布局 奈克斯提尔 而不是具有共享标题和标签的子批次 标题 , xlabel , 伊拉贝尔 命令直接与平铺布局:
或者,从R2018b开始 sgtitle 函数将在一组子图上添加标题。
tl = tiledlayout (3,3);
对于i=1:9
nexttile(tl)
地块(兰特(5,1));
终止
标题(tl,“布局标题”);
包含(tl,“布局XLabel”);
伊拉贝尔(tl,“布局标签”);

s manbetx 845

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始打猎吧!