How can I modify the datetime ticks used in heatmaps
    9 views (last 30 days)
  
       Show older comments
    
    Gayan Lankeshwara
 on 21 Aug 2020
  
    
    
    
    
    Commented: Gayan Lankeshwara
 on 28 Aug 2020
            I am using datetime ticks to represent the x-axis as given in the following MWE code.
%% random heatmap
h1 = heatmap(rand(60))
%% generating the array for the x axis
tstart = datetime(2020,08,21,15,01,0);
tend = datetime(2020,08,21,16,00,0);
x_time = tstart: minutes(1): tend 
x_time.Format = 'HH:mm'
%% changing the x ticks to be the time 
h1.XDisplayLabels = x_time ;
Instead of displaying all the xtick labels, how can I only show the xtick labels every 10 mins, something similar to this {15:10, 15:20, ...}.
In addition to that, I want to change the ticks in the colorbar of the heatmap to be something like 'foo 0.1' instead of 0.1.
Could you please help me to sort this out ?
Thank you.
0 Comments
Accepted Answer
  Jyotsna Talluri
    
 on 25 Aug 2020
        The below code helps
CustomXLabels = string(x_time);
% Replace all but the tenth elements by spaces
CustomXLabels(mod(minute(x_time),10) ~= 0) = " ";
% Set the 'XDisplayLabels' property of the heatmap object 'h1' to the custom x-axis tick labels
h1.XDisplayLabels = CustomXLabels;
axs = struct(gca);
cb = axs.Colorbar;
cb.TickLabels = {'foo 0.1','foo 0.2','...'};
More Answers (0)
See Also
Categories
				Find more on Data Distribution Plots in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
