MATLABのデフォルトのカラーオーダーは何ですか? 質問する

MATLABのデフォルトのカラーオーダーは何ですか? 質問する

2 つのヒストグラムがあるプロットがあります。しかし、プロット上のどのヒストグラムが最初のデータセットから来ていて、どのグラフが 2 番目のデータセットから来ているのかがわかりにくいです。各ヒストグラムには異なる色の線があり、1 つは青、もう 1 つは緑です。デフォルトの MATLAB は'ColorOrder'デバイス間で異なりますか? そうでない場合、順序はどうなっていますか?

ベストアンサー1

いい質問ですね。MATLAB にはデフォルトの色の順序があります。R2014b より前のバージョンでは、MATLAB のデフォルトの色の順序はジェット カラー マップを使用していることに注意してください。ジェット カラー マップでは、最初のプロットは青で、2 番目のプロットは緑です。R2014b 以降のバージョンでは、これは parula カラー マップに従います。最初のプロットは明るい青で、2 番目のプロットは銅のようなオレンジになります。プロットの色の順序を実際に知りたい場合は、プロットが MATLAB で開いていることを確認してから、次の操作を行います。

get(gca,'colororder')

これにより、各行に、作成した各プロットの赤、緑、青の割合を示す 2D マトリックスが返されます。この記事の投稿時点で、MATLAB R2013a と Mac OSX 10.9.5 を実行していた私のマシンでは、次の結果が表示されました。

>> get(gca,'colororder')

ans =

         0         0    1.0000
         0    0.5000         0
    1.0000         0         0
         0    0.7500    0.7500
    0.7500         0    0.7500
    0.7500    0.7500         0
    0.2500    0.2500    0.2500

各行には、特定の色の赤、緑、青の値が表示されます。最初の行はプロットに表示される最初の色を示し、2 番目の行は 2 番目の色を示します。

したがって、上記の色の順序は次のようになります。

  1. 純青
  2. 明るい緑色
  3. 純粋な赤
  4. 緑と青の混合、つまりシアン
  5. 赤と青の混合色、マゼンタ
  6. 赤と緑が混ざった黄色
  7. 赤、緑、青の明るい混合色で、濃い灰色のように見えます。

現在 (2016 年 3 月 10 日)、MATLAB R2015a を使用しており、次のようなカラー マップが表示されます。

>> get(gca,'colororder')

ans =

         0    0.4470    0.7410
    0.8500    0.3250    0.0980
    0.9290    0.6940    0.1250
    0.4940    0.1840    0.5560
    0.4660    0.6740    0.1880
    0.3010    0.7450    0.9330
    0.6350    0.0780    0.1840

この場合の RGB タプルは少し複雑なので、色だけを見てもそれが何であるかを推測するのは困難です。


追加のボーナスとして、これらの色を視覚化する画像を作成することもできます。画像処理ツールボックスをお持ちの場合、図に配置する各プロットの色を視覚化するために私が書いたコードは次のとおりです。

colours = permute(get(gca, 'colororder'), [1 3 2]);
colours_resize = imresize(colours, 50.0, 'nearest');
imshow(colours_resize);

MATLAB R2013a で得られた結果は次のとおりです。

ここに画像の説明を入力してください

このコードを MATLAB R2015a で再度実行すると、次の結果になります。

ここに画像の説明を入力してください


あるいは、legendどのヒストグラムがどのデータから得られたかを示します。

おすすめ記事