私は絵のようにカラースケールをしたい:ggplot - ヒートカラーパレット
だから我々が持っている湖底する上から:
(白っぽい)黄色非常に明るい、オレンジ赤、黒、青、淡青色から非常に明るい青色(白い灰色)
常に0の値を「黒」として表示します。最も小さい(負の)値は「極端な明るい青色」でなければなりません。最大値(postive)は "極端な明るい笑い"でなければなりません。
最小値と最大値が原点から等距離ではないことに注意してください私は0
ザッツ:
library(ggplot2)
df <- data.frame(xDim = c(0, 1, 2, 0, 1, 2, 0, 1, 2), yDim = c(2, 2, 2, 1, 1, 1, 0, 0, 0), high = c(0, -1, 6, -3, 8, 5, -2, 7, 5))
ggplot(df, aes(xDim, yDim)) +
geom_raster(aes(fill = high)) +
scale_fill_gradient2(low = "blue", mid = "black", high = "red", midpoint = 0)
'scale_fill_gradientn'を適切な区切りと色で代わりに使用します。 – Axeman
それは本当です。それを自動化する方法はありますか?私は多くの異なる値を持つ多くのDFを持っています。 –
'quantile'を使って区切りを設定することができます。 'viridis'カラーパレットも考えてみましょう:https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.htmlパレットの中には、あなたが欲しいものに似ているようなものもあります'scale_fill_viridis(option =" plasma ")'で 'ggplot'に落とします。 –