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

9 Ansichten (letzte 30 Tage)
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!)

Akzeptierte Antwort

dpb
dpb am 22 Jun. 2019
Bearbeitet: dpb am 22 Jun. 2019
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. :(

Weitere Antworten (1)

CMajhor
CMajhor am 28 Mär. 2024 um 15:29
Place \newline where you want the line break. For example:
ColumnLabels = {'Long \newline label 1','Long \newline label 2'}

Kategorien

Mehr zu Data Distribution Plots finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by