Display values on heatmap plot - they disappear as the plot shrinks

99 Ansichten (letzte 30 Tage)
I am trying to make a heatmap where the values of the cells are displayed as well, not only the color. Now this basically works - however, as soon as I shrink the figure, the numbers disappear and I am left with colourful but empty cells. I guess this has to do with the text size, but how can I adapt that one?
This is the example code (just a simple heat map):
heatmap(dfd_ptp, 'Colormap', jet, 'ColorbarVisible', 'on', 'XLabel', 'Time', 'YLabel', monthstr)

Akzeptierte Antwort

Benjamin Kraus
Benjamin Kraus am 23 Feb. 2018
The font size of the cell labels on the heatmap automatically scale so that they don't overrun the individual cells (and so the labels don't overlap one another). They will automatically turn off when the font size gets too small to read. The threshold at which the cell labels turn off is hard-coded, there is no way to modify that setting. In addition, the cell labels will all turn off as soon as any of the labels are too big to fit (i.e. they all turn off at the same time, not one-by-one).
If the labels did not turn off, at some point they would just become black dots in the center of the cells, which would obscure the colors in the cells. I know that setting the FontSize will make the axes labels smaller, but out of curiosity, what font size would you use for your cell labels that fit inside the cell, but is large enough to read?
Also, if you could control the font size of the cells, which would you prefer:
  • Be able to specify the cell label font size independent of the axes label font size
  • Be able to adjust the minimum cell label font size before the labels are considered "too small to read" and are are shut off automatically?
There is one potential solution, depending on your particular data: You may be able to modify the CellLabelFormat to generate shorter cell labels.
  1 Kommentar
Stefanie Aebi
Stefanie Aebi am 26 Feb. 2018
Hi and thank you for your reply. I'm not sure whether I remember correctly, but I think I put 5pt or 6pt and then I still got cell Labels. However, that didn't look very nice on the axes... My favourite Option would thus be the first one: specify the cell Label font size Independent of the axes Label font size. I guess that would resolve the Problem, even though I will get small cell labels

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Walter Roberson
Walter Roberson am 1 Feb. 2018
  2 Kommentare
Stefanie Aebi
Stefanie Aebi am 1 Feb. 2018
Bearbeitet: Stefanie Aebi am 1 Feb. 2018
Thanks for your Suggestion! That already solves part of the Problem :-) However, if I adapt FontSize, the axis Labels shrink as well (because FontSize is specified for all text), which is something I don't really want. Is there a way to adapt only the fontsize of the cell labels?

Melden Sie sich an, um zu kommentieren.


Farid Samara
Farid Samara am 23 Okt. 2020
I am trying to use heatmap to plots tables in matlab. I really like the idea of being able to visualize the numbers. But it is also very important to me to show the numbers. Is is possible to should the cell numbers vertically? That could also make a huge difference?
Is there another function I could use to visualize tables?
Thanks
Farid

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