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 番目の色を示します。
したがって、上記の色の順序は次のようになります。
- 純青
- 明るい緑色
- 純粋な赤
- 緑と青の混合、つまりシアン
- 赤と青の混合色、マゼンタ
- 赤と緑が混ざった黄色
- 赤、緑、青の明るい混合色で、濃い灰色のように見えます。
現在 (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
どのヒストグラムがどのデータから得られたかを示します。