如何在箱线图的图例中强制换行?
Posted
技术标签:
【中文标题】如何在箱线图的图例中强制换行?【英文标题】:How to force a line break in a legend of a boxplot? 【发布时间】:2020-07-15 22:20:33 【问题描述】:我需要帮助来跳过箱线图图例中的行:我有一个带有两个箱线图的图,每个箱线图都有一个图例,可以放在一行上。
我试过了,X 是我的数据矩阵(两列):
boxplot(X,'Labels','1stpartofthelegend\newline2ndpartofthelegend','1stpartofthelegend\newline2ndpartofthelegend)
此解决方案适用于其他类型的情节,例如情节扩展情节,所以我不明白为什么它在这里不起作用? 我找到了this question,但这些解决方案对我不起作用,可能是因为我有更新的版本 (R2018b)。
我实际上想在 plotpsread 图上添加我的箱线图,但是当我这样做时,箱线图的图例胜过地线图的图例(即使我添加没有图例的箱线图,地线图的先前图例也被替换为“1”和“2”)。因此,防止箱线图删除以前的图例将是一个不错的解决方案,但由于我未能做到这一点,我试图找到另一种方法。
感谢您的帮助
【问题讨论】:
标题激怒了我。您想跳过一行,即图例中的一个条目,还是希望在您的一个图例条目中有一个换行符? (后者可能适用于每个元素都是新行的单元格) @max 为了更清晰,我编辑了标题。legend
,你的意思是XtickLabels
吗?
代替\newline
插入一个实际的换行符:['text', char(13), 'more text']
。我猜您的解决方案在这里不起作用,因为图例未配置为解释 LaTeX。更改该设置也可能会修复它。
char(13) 在我的情况下不起作用,它只在标签中被删除。然而,@max 与单元格的解决方案是成功的。
【参考方案1】:
您想为多行设置箱线图的'Labels'
。所以使用一个单元格:
Lbl = '1st entry (1st line)','2nd entry (1st line)',...
'1st entry (2nd line)','2nd entry (2nd line)' ;
boxplot(rand(100,2),'Labels',Lbl)
编辑
LaTeX 命令在标题和标签中有效,但显然没有 interpreter
或 TickLabelInterpreter
boxplot-Labels
的属性:
使用 internal.stats.parseArgs 时出错(第 42 行)
参数名称无效:TickLabelInterpreter。
【讨论】:
Ticklabels 确实具有解释器属性。 mathworks.com/help/matlab/ref/… @SardarUsama 你是对的,我应该更准确。箱线图标签没有任何解释器参数。我更正了帖子以上是关于如何在箱线图的图例中强制换行?的主要内容,如果未能解决你的问题,请参考以下文章