如何在corrplot中更改颜色方案

时间:2015-06-09 22:33:24

标签: r colors r-corrplot

我在R中使用library(corrplot) library(datasets) corrplot(abs(cor(mtcars)), method="color", tl.pos="n", cl.lim = c(0,1)) 来显示相关系数矩阵,如下所示。

colorRampPalette

enter image description here

默认颜色方案为 blue 。但是,我想将其更改为 red 。我知道我需要使用SELECT username AS user_login, username AS user_nicename, email AS user_email, url AS user_url, screen_name AS display_name, FROM_UNIXTIME(join_date) AS user_registered, md.* FROM exp_members m LEFT JOIN exp_member_data md ON md.member_id = m.member_id 来指定我想要的颜色。但是,我无法弄清楚要使用的颜色代码。有人可以帮帮我吗?

谢谢!

2 个答案:

答案 0 :(得分:10)

如果你想使用红色,你可以像你提到的那样定义你自己的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))

将产生

enter image description here

即使我们在调色板中定义了“蓝色”,它也不会显示,因为我们将颜色条限制为大于1的值。

如果您取出cl.lim

,也会看到原始版本的颜色渐变驾驶室的“未使用”部分
corrplot(abs(cor(mtcars)), method="color", tl.pos="n")

enter image description here

答案 1 :(得分:2)

函数colorRampPalette返回一个带有数字参数的函数:

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

enter image description here

使用此色谱定义默认值:

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

这会给你更多的红色:

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

我想加一个&#34;褐色&#34;最后扩大了范围,以便更好地进行视觉分离:

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