Bar Graph Misaligned on X Axis

8 views (last 30 days)
Spencer Ferris
Spencer Ferris on 13 Feb 2023
Commented: Voss on 13 Feb 2023
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

Voss
Voss on 13 Feb 2023
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
Spencer Ferris
Spencer Ferris on 13 Feb 2023
Had a feeling it was something like that, thanks!
Voss
Voss on 13 Feb 2023
You're welcome!

Sign in to comment.

More Answers (0)

Categories

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

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!