MATLAB Answers

How to set the matlab heatmap properties to all heatmaps without repetition?

4 views (last 30 days)
Zeynab Mousavikhamene
Zeynab Mousavikhamene on 7 Apr 2020
Answered: Walter Roberson on 10 Apr 2020
h = heatmap(folder_name_cells,folder_name_cells,Mat_Linear,'ColorScaling','log','MissingDataColor','1.00,1.00,1.00',...
'GridVisible','off');
colormap(flipud(colormap('summer')));
I need to plot several heatmaps. How to set above properties (like colormap, cloring scale, ...) once with no need to repeat with each individual heatmap?

  0 Comments

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 10 Apr 2020
You can copyobj(h, target_axes) to create a copy of h with all properties intact. Then you would set about 15 or so properties of the cloned object to adapt it to the data for the second heatmap. You could do that with a single call to set(), if you were sufficiently familiar with the meanings of the properties.
... I just counted, and my visual estimate of 15 properties was very close!
But, hey, setting "only" 15 properties manually is better than setting 4 properties, right?
Have you considered the possibility of just toasing the repeated option into a cell array, like
opt = {'ColorScaling','log','MissingDataColor','1.00,1.00,1.00',...
'GridVisible','off'};
and then using
h = heatmap(folder_name_cells,folder_name_cells,Mat_Linear, opt{:});
This does not meet your stated goal of not needing to repeat the properties for each heatmap, but I suspect that it would be sufficient for your purpose.

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by