How to change color scheme in corrplot

落爺英雄遲暮 提交于 2019-12-10 14:37:08

问题


I am using corrplot in R to visualise a correlation-coefficient matrix as follows.

library(corrplot) 
library(datasets)
corrplot(abs(cor(mtcars)), method="color", tl.pos="n", cl.lim = c(0,1))

The default colour scheme is blue-based. However, I would like to change it to red-based. I know I need to use colorRampPalette to specify colours I want. However, I could not figure out what colour codes to use. Could anyone help me with this, please?

Thank you!


回答1:


If you want to use red, you can define your own colorRampPalette as you've alread mentioned. Just note that the plot seems to set the range of colors from -1 to 1 (even if you adjust the cl.lim value). Thus you still need to define colors for the -1 to 0 range in your ramp. For example

corrplot(abs(cor(mtcars)), method="color", tl.pos="n", 
    cl.lim=c(0,1), col=colorRampPalette(c("blue","white","red"))(200))

will produce

and even though we defined "blue" in the color palette, it doesn't show up because we limited the color bar to values greater than 1.

This "unused" part of the color gradient cab be seen with the original version as well if you take out cl.lim

corrplot(abs(cor(mtcars)), method="color", tl.pos="n")




回答2:


The function colorRampPalette returns a function that takes a numeric argument:

corrplot(abs(cor(mtcars)), method="color",
         col= colorRampPalette(c("white","pink", "red"))(10) ,
         tl.pos="n", cl.lim = c(0,1))

The default is defined with this color spectrum:

col2 <- colorRampPalette(c("#67001F", "#B2182B", "#D6604D", "#F4A582", "#FDDBC7",
        "#FFFFFF", "#D1E5F0", "#92C5DE", "#4393C3", "#2166AC", "#053061"))  

This would give you a wider range of reds:

colnew <- colorRampPalette(c("#670000", "#B20000", "#D60000", "#F40000", "#FD0000", "#FFFFFF"))

And I thought adding a "brown" at the end extended the range for better visual separation:

col= colorRampPalette(c("white","lightpink", "red","brown"))(10)


来源:https://stackoverflow.com/questions/30743983/how-to-change-color-scheme-in-corrplot

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!