sortx

Сортировка элементов в строке тепловой карты

Описание

пример

sortx(h,row) отображает элементы в row в порядке возрастания (слева направо). Эта функция сортирует элементы строк путем перестройки столбцов. Задайте row как один элемент или как массив элементов из YData. Если первая строка, которую вы задаете, имеет повторяющиеся значения, то sortx переставляет оставшиеся столбцы в соответствии со второй строкой и так далее.

пример

sortx(h,row,direction), где direction является 'descend', сортирует значения в порядке убывания вместо порядка возрастания (по умолчанию). Сортировка в уникальном направлении для каждой строки в row, задайте direction как массив, элементы которого 'ascend' или 'descend'.

sortx(___,'MissingPlacement',lcn) определяет, помещать ли NaN элементы первыми или последними в порядке сортировки. Задайте lcn как 'first', 'last', или 'auto'. Настройкой по умолчанию является 'auto', в котором перечислены NaN элементы являются последними для порядка возрастания и сначала для порядка убывания. Используйте эту опцию после любой из предыдущих комбинаций входных аргументов.

sortx(h) отображает элементы в верхней строке в порядке возрастания. Если первая строка имеет повторяющиеся элементы, то sortx переставляет оставшиеся столбцы в соответствии со второй строкой и так далее.

пример

C = sortx(___) возвращает отсортированные данные о цвете, которые являются матрицей значений, отображаемых на графике тепловой карты.

[C,x] = sortx(___) также возвращает отсортированные значения x в том порядке, в котором они отображаются.

Примеры

свернуть все

Создайте тепловую карту отключений утилиты и отсортируйте значения в определенной строке так, чтобы они появлялись в порядке возрастания слева направо.

Сначала создайте тепловую карту. Прочтите образец файла outages.csv в таблицу. Образец файла содержит данные, представляющие отключения электрической утилиты в Соединенных Штатах. Таблица содержит шесть столбцов: Region, OutageTime, Loss, Customers, RestorationTime, и Cause. Создайте тепловую карту, которая показывает различные области вдоль оси X и различные причины отключения вдоль оси Y. В каждой камере покажите, сколько раз каждая область испытывала отключение степени по конкретной причине.

T = readtable('outages.csv');
h = heatmap(T,'Region','Cause');

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Cause vs. Region.

Отсортируйте значения в 'winter storm' строка так, чтобы они появлялись в порядке возрастания слева направо.

sortx(h,'winter storm')

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Cause vs. Region.

Создайте тепловую карту отключений утилит и отобразите значения в 'winter storm' строка в порядке убывания путем перестройки столбцов.

T = readtable('outages.csv');
h = heatmap(T,'Region','Cause');
sortx(h,'winter storm','descend')

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Cause vs. Region.

Создайте тепловую карту отключений утилиты и переставьте столбцы с помощью значений из нескольких строк. Отсортируйте столбцы так, чтобы строка 'unknown' появляется в порядке возрастания. Поскольку эта строка содержит повторяющиеся значения, используйте строку 'earthquake' для сортировки остальных столбцов.

T = readtable('outages.csv');
h = heatmap(T,'Region','Cause');
sortx(h,{'unknown','earthquake'})

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Cause vs. Region.

Создайте тепловую карту отключений утилит и отсортируйте значения в 'winter storm' строка так, чтобы они появлялись в порядке возрастания. Возвращает отсортированные данные о цвете и значения столбцов (значения x) в том порядке, в котором они появляются вдоль оси X.

T = readtable('outages.csv');
h = heatmap(T,'Region','Cause');
[C,x] = sortx(h,'winter storm')

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Cause vs. Region.

C = 10×5

     0    12   127    20   135
     0     0     1     0     1
     8    19    49    81    31
     2     9    85    42    18
     0     0    17     3     5
     6    31    23   135   143
     6    32     7    54   102
     0     5     4     4    11
     3    16    22    13    41
     1    18    19    37    70

x = 5x1 cell
    {'SouthWest'}
    {'MidWest'  }
    {'West'     }
    {'SouthEast'}
    {'NorthEast'}

Создайте тепловую карту отключений утилиты и отсортируйте значения в верхней строке в порядке возрастания путем перестройки столбцов. Затем восстановите исходный порядок.

T = readtable('outages.csv');
h = heatmap(T,'Region','Cause');
sortx(h)

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Cause vs. Region.

Восстановите исходный порядок столбцов путем установки XDisplayData свойство HeatmapChart объект, равный XData свойство.

h.XDisplayData = h.XData;

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Cause vs. Region.

Входные параметры

свернуть все

Тепловая карта для обновления, заданная как HeatmapChart объект.

Строка для сортировки, заданная как вектор символов, массив ячеек из векторов символов или строковые массивы, указывающий на один или несколько элементов из YData или YDisplayData свойство HeatmapChart объект.

Пример: sortx(h,'MyRowName') сортирует элементы в строке с именем 'MyRowName' в порядке возрастания.

Направление для сортировки, заданное как одно из следующих значений:

  • 'ascend' - Сортировка всех строк в row в порядке возрастания.

  • 'descend' - Сортировка всех строк в row в порядке убывания.

  • Массив - Сортировка в уникальном направлении для каждой строки в row. Задайте direction как массив ячеек из векторов символов или строковые массивы, содержащий элементы 'ascend' или 'descend'. Массив должен быть такой же длины, как и row.

Пример: sortx(h,row,{'ascend','descend','ascend'}) сортирует элементы в первой строке row в порядке возрастания. Если в первой строке есть какие-либо повторяющиеся значения, то она разрывает связи с помощью элементов второй строки в порядке убывания и так далее.

NaN размещение, заданное как одно из следующих значений:

  • 'auto' - Список NaN элементы являются последними для порядка возрастания и сначала для порядка убывания.

  • 'first' - Список NaN сначала элементы.

  • 'last' - Список NaN элементы last.

Пример: sortx(h,row,'MissingPlacement','last')

Выходные аргументы

свернуть все

Отсортированные данные о цвете, возвращенные как матрица. Значения в матрице появляются в том же порядке, в котором они появляются на тепловой карте.

The ColorDisplayData свойство HeatmapChart объект сохраняет отсортированные цветовые данные. The ColorData свойство сохраняет несортированные данные о цвете.

Переставленный порядок столбцов, возвращенный как массив ячеек из векторов символов.

The XDisplayData свойство HeatmapChart объект сохраняет сортированный порядок столбцов. The XData свойство сохраняет несортированный порядок столбцов.

Алгоритмы

The sortx функции устанавливают и запрашивают эти HeatmapChart свойства объекта:

  • XDisplayData - Свойство, которое хранит данные оси X.

  • ColorDisplayData - Свойство, которое хранит данные отображения цвета.

The sortx функция также сбрасывает XLimits свойство.

См. также

Функции

Свойства

Введенный в R2017b