Bar Graph Misaligned on X Axis

My first value for my x axis is not lining uyp with my tick mark labels and I can't figure out why, any ideas? Code is below image.
%%% Vector of the averages
VectorOfEachRatioAverage = [Only18125Average Only18750Average Only19375Average Only20000Average Only20625Average Only21250Average Only21875Average];
VectorOfRatioNamesForGraph = [ "1.8125" "1.8750" "1.9375" "2.0000" "2.0625" "2.1250" "2.1875" ];
%%% Create bar graph of Each Speed Ratio means. %%%
% Assign figure to plot over
figure('units','normalized','outerposition',[0 0 1 1]);
xlabel('Speed Ratio of Right Circle/Left Circle');
ylabel('Slider Error ((d/b)*100)');
title("Mean Error for Training and Testing Trials for Participant " + ParticipantNumber)
colormap(gray);
axis padded
hold on;
bar(VectorOfEachRatioAverage)
xticklabels(VectorOfRatioNamesForGraph)

 Accepted Answer

That's because xticklabels doesn't set the x-ticks, only their labels, so the left-most x-tick - wherever it is - gets the first label you specify, and so on.
To make sure the x-ticks and labels are coherent, set them together:
xticks(1:numel(VectorOfRatioNamesForGraph))
xticklabels(VectorOfRatioNamesForGraph)

2 Comments

Had a feeling it was something like that, thanks!
You're welcome!

Sign in to comment.

More Answers (0)

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products

Release

R2020b

Asked:

on 13 Feb 2023

Commented:

on 13 Feb 2023

Community Treasure Hunt

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

Start Hunting!