How to dynamicly change the tick order for xticklabels

5 次查看(过去 30 天)
I am trying to do a graphic where I compaire multiple groups by creating a scatter plot where the hue of the dot corresponding to the effect size between compairisons. I need to run the compairisons for different features on the data groups, therefore I want to sort the groups dynamicly by the mean for each feature in the graphic.
I labeled the x- and y-axis such as:
yticks([1:25])
yticklabels({'Heel Up','Heel Dw', ...
'Flat Up','Flat Dw','Swing Heel', ...
'Swing Flat', ... .......
});
where 1 = 'Heel Up', 2 = 'Heel Dw', ect.
For the new graph I already changed the order of the plots by creating the variable
label_neworder = [10,12,19,2,23,4,11,15,17,18,9,3,8,21,22,20,1,13,5,16,14,6,7]; % for example
I tried resorting the labels using categorical,
x_tick_labels = categorical(label_neworder,[1:25], ...
{'Heel Up','Heel Dw', ...
'Flat Up','Flat Dw','Swing Heel', ...
'Swing Flat', ... .......
})
but when I try to apply it I only get the error message:
xticklabels(x_tick_labels_cat);
% Error using xticklabels (line 43)
% Specify tick labels as cell array of character vectors, string array, or one of the 'mode', 'auto', or 'manual' options.
I would need to reformat "x_tick_labels", but I cannot quite figure out how to do so.

采纳的回答

Adam Danz
Adam Danz 2020-4-28
编辑:Adam Danz 2020-4-28
tickLabels = {'Heel Up','Heel Dw', ...
'Flat Up','Flat Dw','Swing Heel', ...
'Swing Flat', ... .......
};
yticklabels(tickLabels(label_neworder));

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Labels and Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by