Bar Graph Misaligned on X Axis

2 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!

Sign in to comment.

More Answers (0)

Categories

Find more on Labels and Annotations 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!