Matlab - How to use strings instead of numbers in bar figure

Simon picture Simon · Jun 18, 2011 · Viewed 43.2k times · Source

I want to obtain a Matlab figure using the bar function but when the actual figure is plotted instead of displaying the numbers underneath each bar I want to display which represents that actual value plotted.

For example I am having the vector x = [1 2 3] and instead of showing 1, 2 and 3 beneath each plotted bar, I want to display a string corresponding to one of these values y = {'sam'; 'alan'; 'ellie'}

enter image description here

Could you please explain how could I obtain this?

Answer

Amro picture Amro · Jun 18, 2011
x = [1 2 3];
str = {'sam'; 'alan'; 'ellie'};
bar(x)
set(gca, 'XTickLabel',str, 'XTick',1:numel(str))

enter image description here