Remove data labels in a heatmap

I am using a heatmap containing a grid of 1000x1000 points. The data values are displayed on the x and y axis, which is too much; they overlap since there are too many. I would like to remove all data and keep only the xlabel, ylable, and title with a larger font size. I am not sure how to change the font size either. I tried several things without luck.
Here is my command where "a" is the 1000x1000 matrix.
heatmap(a,'xlabel','\mu','ylabel','\nu','title',['Frequency of (\mu, \nu) for ','\epsilon = ',num2str(epsilon)]);
Thank you.

 采纳的回答

If you just want to remove them, try this:
hmh = heatmap(a,'xlabel','\mu','ylabel','\nu','title',sprintf('Frequency of (\\mu, \\nu) for \\epsilon = %.2f',epsilon));
Ax = gca;
Ax.XDisplayLabels = nan(size(Ax.XDisplayData));
Ax.YDisplayLabels = nan(size(Ax.YDisplayData));
They don’t appear to have any properties specific to them (such as 'FontSize') that you can change.

3 个评论

It worked!! Thank you!
As always, my pleasure!
Sorry for the late answer ( New user, for the benefit of future questioners):
You can use the following parameter:
heatmap(....,'CellLabelColor','none');
Works like a charm...
Godd luck!

请先登录,再进行评论。

更多回答(3 个)

Shipra Jain
Shipra Jain 2020-4-29

3 个投票

Hi,
Is there a way to show only some selective labels on Yaxis?
E.g. I have about 120 labels from 1970-2090. I would like only 1970, 1980, 1990....2090 to appear and switch off the other ones. Is that possible?
Thanks in advance.
To remove all xlabel, ylabel and tickslabel:
heatmap(arr,'CellLabelColor','none')
In case you want to retain all labels except xticklabel:
heatmap(arr,'XDisplayLabels',NaN*ones(length(arr),1))

1 个评论

Thanks a lot! This is the only solution out of 10s at least which solved the issue without messing something else in my plot!

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Data Distribution Plots 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by