很多時候我會使用一個發散的調色板映射到一個參數上,這個參數在中間某個地方有一個有趣的轉折點。反轉發散調色板
不幸的是,可用的發散調色板 - 例如,那些來自C.布魯爾的人 - 在兩個極端而不是在中間似乎都有飽和的顏色,通常被定義爲白色或淺灰色。下面是用於說明
由文本標籤指示的連續參數穿過其中相關聯的曲線的峯值達到最大值的最佳值的一個例子。
在淺白色或灰色背景(通常爲ggplot2)上,我的數據中最有趣的部分變得幾乎看不見;我希望它能「彈出」更多,而任何一邊的數值都會逐漸遠離中心,並帶有不同的色調。 是否有良好的髮色調色板在中間具有較強的飽和度,並且在兩側都會消失?
下面是一個插圖示例代碼,選擇黑色作爲中立點(我寧願不那麼引人注目的東西,但很難將它與雙方完美融合)。
require(RColorBrewer)
grid.newpage()
grid.raster(brewer.pal(7,"PRGn"), 0.25, 0.5, 0.4, 1)
custom <- c(brewer.pal(3,"BuPu"), "black", rev(brewer.pal(3,"BuGn")))
grid.raster(custom, 0.75, 0.5, 0.4, 1)
編輯:澄清,我熟悉colorRampPalette
和scale_colour_gradientn
,我尋求
1-選擇好顏色用於此目的的建議;
2-定義顏色分的手工製作的調色板映射到一個變量,類似於scale_colour_gradient2
與mid
參數確實(中央顏色可能不是在該參數範圍的確切中心)
不colorPampPalette給你這個?例如'par(bg ='grey97',xpd = NA); plot(1:1000,pch = 19,cex = 5,col = colorRampPalette(c('lightgreen','black','mediumpurple1'))( (1:1000,pch = 19,cex = 5,col = colorRampPalette(c('lightgreen','lightgreen','black',''))'如果你想要更淺的陰影,只需重複顏色:'plot 'mediumpurple1','mediumpurple1'))(1000))' – rawr
@rawr我編輯了一個附錄的問題,以澄清問題 – baptiste