黒から赤、または赤から暗赤色では、使用できる色空間がほとんどないようです。16 進数コードを使用して、低設定と高設定に特定の色を割り当て、黒の背景を追加してコントラストを向上させることができます。例えば:
+ scale_colour_gradient2(low="#22FF00", mid="white", high="#FF0000", midpoint=median(iris$Sepal.Length)) + theme(panel.grid=element_blank(), panel.background=element_rect(fill="black"))
より多くのコントラストが得られます。を使用していることに注意してくださいscale_color_gradient2
。これにより、中間色を設定し、それをデータの要約統計に帰することができます (ここでは、中央値を使用しました)。また、スペクトルの両端にある 2 つの色も使用しました。上記をコードに追加すると、次のようになります。
ただし、満足するまで特定の色をいじる以外に ( http://www.rapidtables.com/web/color/RGB_Color.htmとiwanthueは色を選択するための優れたリソースです)、存在するかどうかはわかりません。非常に複雑な色の虹を作成することなく、全体でコントラストが最大になるようにグラデーションを設定する方法。おそらくご存知のように、データ内の任意の 2 つのポイント間のコントラストは、それらのポイントの値の差に正比例するため、グラデーションの異なるロケール内でその関係を変えることはおそらく望ましくなく、私の知る限り不可能です。 ggplot2で。
編集: コントラストを向上させる別の方法は、変数自体ではなく、目的の変数 (この例では Sepal.Length) のランク順で色付けすることです。これにより、分位点間の距離を等しくすることでデータを「分散」させる均一な分布が作成されます。ただし、これはデータの誤解を招く視覚化を生成する可能性があります。データが大きく歪んでいる場合、一部の同一またはほぼ同一の値がかなり対照的な色で表される可能性があります。したがって、注意して使用してください。
上記と比較してください:
iris <- iris[with(iris, order(Sepal.Length)),]
iris$rank <- 1:150
ggplot(iris) + geom_point(aes(x=Sepal.Width, y=Sepal.Length, colour=rank)) + scale_colour_gradient2(low="#22FF00", mid="white", high="#FF0000", midpoint=median(iris$rank)) + theme(panel.grid=element_blank(), panel.background=element_rect(fill="black"))
また、赤から緑への色は、可能な限り色覚異常の安全性が最も低い色の選択であることも認識しています. したがって、スペクトルに赤や緑が含まれないように色を選択する必要があります。