There are two approaches below. I recommend using the first one where the bars and labeled by the xtick labels. You can rotate them at any angle you wish. The second approach colors each bar and uses a colorbar to identify the color code. This requires a lot more work from the user to match the bar to the color. With a greater number of bars, the colors become too similar.
Also, consider reading the data in as a table instead of using datasets.
Use x tick labels
figure();
scaleSelection = strcmp(scale,'like');
barData = meanVariantsVelocity(scaleSelection);
bh = bar(barData);
ax = bh.Parent;
ax.XTick = 1:numel(barData);
ax.XTickLabel = variants(scaleSelection);
ax.TickLabelInterpreter = 'none';
xtickangle(ax, 45)
Colored bars with colorbar as legend
This is not recommended.
figure();
scaleSelection = strcmp(scale,'like');
barData = meanVariantsVelocity(scaleSelection);
bh = bar(barData);
bh.FaceColor = 'flat';
bh.CData = jet(numel(barData));
colormap(bh.CData)
cb = colorbar();
caxis([0,numel(barData)])
cb.YTick = 0.5 : 1 : numel(barData);
cb.TickLabels = variants(scaleSelection);
cb.TickLabelInterpreter = 'none';
cb.FontSize = 8;
bh.Parent.Position(3) = 0.55;
Best Answer