ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

プロットの各ラインの色が異なる理由

新しい色の順序

R2014b からは、MATLAB® グラフィックスでは、プロットに使用する色を決定する色の順序が新しくなりました。この表は、R2014b で導入された色の順序を以前のリリースと比較したものです。また、色を定義する RGB 3 成分の値も記載されています。

R2014b 以降R2014a 以前

         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
         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

Axes の ColorOrder プロパティには色の順序が含まれています。色の順序を変更するには、ColorOrder プロパティに異なる既定値を設定します。たとえば、次のコードは、既定の色の順序を以前のリリースで使用している色に設定します。

co = [0 0 1;
      0 0.5 0;
      1 0 0;
      0 0.75 0.75;
      0.75 0 0.75;
      0.75 0.75 0;
      0.25 0.25 0.25];
set(groot,'defaultAxesColorOrder',co)

hold コマンドによる色の順次使用

R2014a 以前は、hold on コマンドでは現在の色が保持されないため、座標軸に新しいプロットを追加すると、色の順序が最初から使用されました。これは、視覚的に、新しいプロットには同じ初期の色が使用されることを意味します。R2014b からは、hold on コマンドでは現在の色が保持されるため、座標軸に新しいプロットを追加すると、色の順序の次の色が使用されます。

たとえば、このコードは hold on コマンドを使用して 6 本のラインを表示します。R2014b からは、ラインでは色の順序が繰り返し使用され、結果のプロットは色の順序の最初の 6 色を使用します。

data = [5 6 7; 2 3 4; 4 5 6];
plot(data);
hold on
plot(3*data);
hold off

以前のリリースで同じコードを実行すると、色の順序は各プロット コマンドで再開始されていました。その結果、プロットは色の順序の最初の 3 色を 2 回使用しています。

色の順序の再開始

R2014b からは、各プロット コマンドの前に色の順序を再開始する場合、座標軸の ColorOrderIndex プロパティを 1 に設定します。

data = [5 6 7; 2 3 4; 4 5 6];
plot(data);
hold on
ax = gca;
ax.ColorOrderIndex = 1;
plot(3*data);
hold off

参考