[英]How to change color scheme in corrplot
我在R中使用corrplot
來顯示相關系數矩陣,如下所示。
library(corrplot)
library(datasets)
corrplot(abs(cor(mtcars)), method="color", tl.pos="n", cl.lim = c(0,1))
默認顏色方案是基於藍色的。 但是,我想把它改成紅色的。 我知道我需要使用colorRampPalette
來指定我想要的顏色。 但是,我無法弄清楚要使用的顏色代碼。 有人可以幫幫我嗎?
謝謝!
如果你想使用紅色,你可以像你提到的那樣定義你自己的colorRampPalette。 請注意,該圖似乎將顏色范圍設置為-1到1(即使您調整cl.lim
值)。 因此,您仍需要在漸變中定義-1到0范圍的顏色。 例如
corrplot(abs(cor(mtcars)), method="color", tl.pos="n",
cl.lim=c(0,1), col=colorRampPalette(c("blue","white","red"))(200))
會產生
即使我們在調色板中定義了“藍色”,它也不會顯示,因為我們將顏色條限制為大於1的值。
如果您取出cl.lim
,也可以看到原始版本的顏色漸變駕駛室的“未使用”部分
corrplot(abs(cor(mtcars)), method="color", tl.pos="n")
函數colorRampPalette返回一個帶有數字參數的函數:
corrplot(abs(cor(mtcars)), method="color",
col= colorRampPalette(c("white","pink", "red"))(10) ,
tl.pos="n", cl.lim = c(0,1))
默認值使用此色譜定義:
col2 <- colorRampPalette(c("#67001F", "#B2182B", "#D6604D", "#F4A582", "#FDDBC7",
"#FFFFFF", "#D1E5F0", "#92C5DE", "#4393C3", "#2166AC", "#053061"))
這會給你更多的紅色:
colnew <- colorRampPalette(c("#670000", "#B20000", "#D60000", "#F40000", "#FD0000", "#FFFFFF"))
我認為最后添加一個“棕色”擴展了范圍,以便更好地進行視覺分離:
col= colorRampPalette(c("white","lightpink", "red","brown"))(10)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.