如何在箱线图的图例中强制换行?

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 命令在标题和标签中有效,但显然没有 interpreterTickLabelInterpreter boxplot-Labels 的属性:

使用 internal.stats.parseArgs 时出错(第 42 行)

参数名称无效:TickLabelInterpreter。

【讨论】:

Ticklabels 确实具有解释器属性。 mathworks.com/help/matlab/ref/… @SardarUsama 你是对的,我应该更准确。箱线图标签没有任何解释器参数。我更正了帖子

以上是关于如何在箱线图的图例中强制换行?的主要内容,如果未能解决你的问题,请参考以下文章

css 如何控制span 强制换行

css 如何控制span 强制换行

如何在视频的 vtt 中强制换行

css怎么强制换行?

antd中的table如何强制换行

php如何在长字符串中加换行符,以达到强制换行目的