Having multiple lines in a character array for column labels in a heatmap

13 ビュー (過去 30 日間)
Jenniluyn Nguyen
Jenniluyn Nguyen 2019 年 6 月 21 日
回答済み: CMajhor 2024 年 3 月 28 日 15:29
Hi all,
I'm trying to make a heatmap chart and for the x axis I have each column labeled. However, the labels are too big and then they become diagonal (which I am not a fan of). I want to divide some of the labels into multiple lines so that the text does not become diagonal. Is there a way to do that?
I currently have the labels in a character array, i.e:
ColumnLabels = {'Long label 1','Long label 2','Long label 3','Long label 4','Long label 5'}
How should I put a new line in between some of the words so that on the heatmap it looks like:
Long
label 1
and so on? Is there a better way to have these labels stored than a character array? Would much appreciate the help! Thank you!
(Also keep in mind I'm asking something different from the x axis title; I have labels within each column for this heatmap. Thanks!)

採用された回答

dpb
dpb 2019 年 6 月 22 日
編集済み: dpb 2019 年 6 月 22 日
Unless TMW has finally fixed it, the TickLabel interpreter is pretty brain dead...you can do something like
ColumnLabels=strrep(ColumnLabels,'Long ',['Long' char(10)]); % insert linefeed character into strings
xticklabels(ColumnLabels)
and you would think joy would ensue! But, alas...the control character gets interpreted as the end of the strings and you end up with the labels being "Long", "label 1', Long", "label 2", "Long" for the five columns -- not at all what desired.
OTOH, you can see that should work with a TeX interpreter; the same modifed label array used something like
text(0.5,0.5,Columnlabels{1})
will indeed show the full label on the two lines as expected.
One of those mind-numbingly weaknesses that's been around like "since forever" and just never gets fixed. :(

その他の回答 (1 件)

CMajhor
CMajhor 2024 年 3 月 28 日 15:29
Place \newline where you want the line break. For example:
ColumnLabels = {'Long \newline label 1','Long \newline label 2'}

カテゴリ

Help Center および File ExchangeData Distribution Plots についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by