How can I plot discrete x-axis values?

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.

 Accepted 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);

2 Comments

Perfect, thank you!
You saved my day! Believe you or not, this problem is quite hard to solve.

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Asked:

on 19 Jan 2016

Commented:

on 22 Oct 2020

Community Treasure Hunt

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

Start Hunting!