How to change x-axis ticks labels in stackedplot?
    23 views (last 30 days)
  
       Show older comments
    
h = stackedplot(rand(6,3));
I want to set x-axis ticks according to my own defined set i.e., instead of 1:6, I want to replace x-axisticks [1, 2,3 ,4,5,6] to ['A', 'S','T', 'AAA', 'BBB', 'ZZZ'] , by rotating it to 90 degree that is vertically insted of horizontally?
0 Comments
Accepted Answer
  Voss
      
      
 on 10 Apr 2022
        There does not seem to be an easy way to set the XTick or XTickLabel of a StackedLineChart object (such as what's created by stackedplot):
data = rand(6,3);
h = stackedplot(1:6,data);
% try a couple of things, neither of which work
try
    set(h,'XTick',1:6,'XTickLabel',{'A' 'S' 'T' 'AAA' 'BBB' 'ZZZ'})
catch ME
    disp(['Cannot use set(_,''XTick''): ' ME.message]);
    try
        xticks(h,1:6)
    catch ME
        disp(['Cannot use xticks(_): ' ME.message]);
    end
end
However, you can do it if you use tiledlayout (or subplot):
figure();
tiledlayout(3,1,'TileSpacing','tight');
for i = [1 2 3]
    ax = nexttile;
    plot(data(:,i));
    box off
    if i < 3
        set(get(ax,'XAxis'),'Visible','off');
    end
    ylabel(ax,sprintf('Column %d',i), ...
        'Rotation',0, ...
        'HorizontalAlignment','right');
end
% now ax is the bottom axes
set(ax, ...
    'XTick',1:6, ...
    'XTickLabel',{'A','S','T','AAA','BBB','ZZZ'}, ...
    'XTickLabelRotation',90);
2 Comments
More Answers (2)
  Simon Allosserie
      
 on 6 Apr 2022
        
      Edited: Simon Allosserie
      
 on 6 Apr 2022
  
      Use xtick and xticklabels to change to the A, S, T, ... labels
I don't understand what you further mean with the rotating 90° though.
1 Comment
  Paul Carchipulla-Morales
 on 8 Feb 2023
        There is a quicker method that worked for me using NodeChildren in MATLAB2021b.
h = stackedplot(rand(6,3));
ax = findobj(h.NodeChildren, 'Type','Axes');
set(ax,'XTick',[1:6],'XTickLabel',{'A', 'S','T', 'AAA', 'BBB', 'ZZZ'})

2 Comments
See Also
Categories
				Find more on Annotations 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!







