Main Content

sorty

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

説明

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

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

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

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

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

また、[C,y] = sorty(___) は並べ替えられた y 値を、表示される順番で返します。

すべて折りたたむ

電力会社の停電のヒートマップを作成し、特定の列を並べ替えて昇順 (上から下) で表示します。

最初に、ヒートマップを作成します。サンプル ファイル 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.

'NorthEast' の列の値を並べ替え、上から下に昇順で表示されるようにします。

sorty(h,'NorthEast')

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

電力会社の停電のヒートマップを作成し、行を再配列して 'NorthEast' 列の値を降順で表示します。

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

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

電力会社の停電のヒートマップを作成し、複数の列の値を使用して行を再配列します。行を並べ替え、'SouthWest' 列が昇順で表示されるようにします。この列には重複する値があるため、'NorthEast' 列を使用して残りの行を並べ替えます。

T = readtable('outages.csv');
h = heatmap(T,'Region','Cause');
sorty(h,{'SouthWest','NorthEast'})

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

電力会社の停電のヒートマップを作成し、'NorthEast' 列の値を並べ替え、上から下に昇順で表示されるようにします。y 軸に沿って表示する順序で並べ替えられたカラー データと行の値 (y 値) を返します。

T = readtable('outages.csv');
h = heatmap(T,'Region','Cause');
[C,y] = sorty(h,'NorthEast')

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

C = 10×5

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

y = 10x1 cell
    {'earthquake'      }
    {'fire'            }
    {'unknown'         }
    {'equipment fault' }
    {'energy emergency'}
    {'wind'            }
    {'winter storm'    }
    {'thunder storm'   }
    {'attack'          }
    {'severe storm'    }

電力会社の停電のヒートマップを作成し、列を再配列して、左の列の値を昇順 (上から下) で並べ替えます。その後、元の順序を復元します。

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

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

HeatmapChart オブジェクトの YDisplayData プロパティを YData プロパティと等しくなるように設定して、元の行の順序を復元します。

h.YDisplayData = h.YData;

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

入力引数

すべて折りたたむ

更新するヒートマップ。HeatmapChart オブジェクトとして指定します。

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

例: sorty(h,'MyColumnName') は、'MyColumnName' という列の要素を昇順で並べ替えます。

並べ替えの方向。'ascend''descend'、文字ベクトルの cell 配列、または string 配列として指定します。

  • 'ascend'column にリストされたすべての列を昇順で並べ替え。

  • 'descend'column にリストされたすべての列を降順で並べ替え。

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

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

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

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

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

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

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

出力引数

すべて折りたたむ

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

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

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

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

アルゴリズム

関数 sorty は、次の HeatmapChart オブジェクト プロパティを設定します。

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

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

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

バージョン履歴

R2017b で導入

参考

関数

プロパティ