MATLAB: How to plot discrete x-axis values

barplotx axis

How can I choose which x axis values are displayed? I am plotting a bar graph with x-axis values of [1,2,3,5,7,10] and I want there to be equal spacing between the bars.
If I use bar() and plot() there is a gap between bars because the x-values 4,6,8,9 are not in the data.

Best Answer

Try this
x = [1,2,3,5,7,10]; %your bins
y = rand(1,6); %your data
numbins = size(x,2);
x1 = [1:numbins];
bar(x1,y)
set(gca,'XTickLabel',x);