2つのヒストグラムのプロットがあります。ただし、プロットのどのヒストグラムが最初のデータセットからのもので、どのグラフが2番目のデータセットのグラフであるかを判別するのは困難です。各ヒストグラムには異なる色の線があります。1つは青で、もう1つは緑です。デフォルトのMATLAB 'ColorOrder'
デバイスによって異なりますか?そうでない場合-順序は何ですか?
良い質問! MATLABにはデフォルトの色順があります。 MATLABのデフォルトの色順であるR2014bより前のバージョンでは、ジェットカラーマップが使用されることに注意してください。ジェットカラーマップでは、最初のプロットは青で、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
を常に使用して、どのヒストグラムがどのデータからのものであるかを示すことができます。
この特定の目的のためのカラーマップがあります-lines
(R2006aの前に導入されました)。 _lines.m
_の内容は次のとおりです。
_%LINES Color map with the line colors.
% LINES(M) returns an M-by-3 matrix containing a "ColorOrder"
% colormap. LINES, by itself, is the same length as the current
% colormap. If no figure exists, MATLAB uses the length of the
% default colormap.
_
lines
のドキュメントを開くと、 rayryeng's answer に表示されるものと非常によく似たプレビュー画像を見ることができます。
したがって、デフォルトのcolormap
を使用している限り、最初のn
行の色を知るために必要なことは、lines(n)
を呼び出すことだけです。