Matlab - Как я могу сортировать строки для гистограммы без потери имен строк? - PullRequest
1 голос
/ 09 ноября 2019

Я анализирую двойные массивы в Matlab для создания гистограмм. Каждая строка соответствует стране и имеет определенные значения, которые сравниваются. Имена строк хранятся в массиве ячеек и реализуются в гистограмме с помощью set(gca,'XTickLabel',{Combined{:,1}}). Это предполагает, что порядок строк остается неизменным во время анализа.

Однако в моем анализе мне нужно отсортировать строки, чтобы найти страны с лучшими и худшими показателями. Делая это, я не могу построить гистограмму со странами, соответствующими их странам. Вот как я сортировал двойные данные:

[~,SortLR2018] = sort(d2018(:,4));
LR2018 = d2018(SortLR2018,:);

Кто-нибудь знает, как я могу отсортировать названия стран (массивы ячеек) так, чтобы они соответствовали отсортированным значениям (двойные массивы)?

1 Ответ

0 голосов
/ 09 ноября 2019

Самый простой способ - индексировать массив ячеек, содержащий имена, с индексами отсортированных данных:

set(gca,'XTickLabel',{Combined{SortLR2018,1}})

Я бы порекомендовал реализовать ваши данные в виде таблиц , что позволяетсвязать имена со всеми видами данных строк.

...