Main Content

sortx

ヒートマップ行の要素の並べ替え

説明

sortx(h,row) は、row の要素を昇順 (左から右) で表示します。この関数は、列を再配列して行の要素を並べ替えます。row を、YData の 1 つの要素または要素の配列として指定します。指定した最初の行に繰り返されている値がある場合、sortx は残りの列を 2 番目の行に従って再配列し、以下同様に処理されます。

sortx(h,row,direction) は、direction'descend' の場合、値を昇順 (既定) ではなく降順で並べ替えます。row の行ごとに一意の方向で並べ替えるには、direction を要素が 'ascend' または 'descend' である配列として指定します。

sortx(___,'MissingPlacement',lcn) は、NaN 要素を並べ替え順序の最初と最後のどちらに配置するかを指定します。lcn'first''last''auto' のいずれかとして指定します。既定の設定は 'auto' で、これは NaN 要素を昇順の場合は最後、降順の場合は最初に配置します。このオプションは、前述した任意の入力引数の組み合わせの後に使用します。

sortx(h) は要素を昇順の最初の行に表示します。最初の行に繰り返されている要素がある場合、sortx は 2 番目の行に従って列を再配列し、以下同様に処理されます。

C = sortx(___) は並べ替えられたカラー データを返します。これはヒートマップ チャートに表示される値の行列です。

また、[C,x] = sortx(___) は、並べ替えられた x 値を、表示されている順序で返します。

すべて折りたたむ

電力会社の停電のヒートマップを作成し、特定の行の値を並べ替えて、昇順 (左から右) に表示します。

最初に、ヒートマップを作成します。サンプル ファイル outages.csv を table に読み取ります。このサンプル ファイルには、米国における電力会社の停電を表すデータが含まれています。この table には、RegionOutageTimeLossCustomersRestorationTime、および Cause の 6 列があります。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.

元の列の順序を復元するには、HeatmapChart オブジェクトの XDisplayData プロパティを 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 オブジェクトとして指定します。

並べ替える行。HeatmapChart オブジェクトの YData または YDisplayData プロパティの 1 つ以上の要素を示す文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。

例: sortx(h,'MyRowName')'MyRowName' という名前の行の要素を昇順で並べ替えます。

並べ替えの方向。次の値のいずれかとして指定します。

  • 'ascend'row のすべての行を昇順で並べ替え。

  • 'descend'row のすべての行を降順で並べ替え。

  • 配列 — row の行ごとに一意の方向で並べ替え。direction は、'ascend' または 'descend' 要素を含む文字ベクトルの cell 配列、または string 配列として指定します。この配列は row と同じ長さでなければなりません。

例: sortx(h,row,{'ascend','descend','ascend'})row の最初の行の要素を昇順で並べ替えます。最初の行に繰り返されている値がある場合は、2 番目の行の要素を降順に並べ替えて順序を決定し、以下同様に処理されます。

NaN の配置。次の値のいずれかとして指定します。

  • 'auto'NaN 要素を昇順では最後に、降順では最初にリスト。

  • 'first'NaN 要素を最初にリスト。

  • 'last'NaN 要素を最後にリスト。

例: sortx(h,row,'MissingPlacement','last')

出力引数

すべて折りたたむ

並べ替えられたカラー データ。行列として返されます。この行列の値は、ヒートマップでの表示と同じ順序で現れます。

HeatmapChart オブジェクトの ColorDisplayData プロパティには、並べ替えられたカラー データが格納されます。ColorData プロパティには、並べ替え前のカラー データが格納されます。

再配列された列の順序。文字ベクトルの cell 配列として返されます。

HeatmapChart オブジェクトの XDisplayData プロパティには、並べ替えられた列の順序が格納されます。XData プロパティには、並べ替え前の列の順序が格納されます。

アルゴリズム

関数 sortx は、HeatmapChart オブジェクトの次のプロパティの設定とクエリを実行します。

  • XDisplayDatax 軸のデータを格納するプロパティ。

  • ColorDisplayData — カラー表示データを格納するプロパティ。

また、関数 sortxXLimits プロパティのリセットも実行します。

バージョン履歴

R2017b で導入

参考

関数

プロパティ