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!
This can be done using Matplotlib Colormaps, which can be added in the function matshow with the argument cmap=plt. get_cmap(name) .
[ R , PValue ] = corrplot( Tbl ) plots the Pearson's correlation coefficients between all pairs of variables in the table or timetable Tbl , and also returns tables for the correlation matrix R and matrix of p-values PValue .
corr is FALSE and corr is a non-negative or non-positive matrix, the default value will be COL1(YlOrBr,200); otherwise (elements are partly positive and partly negative), the default value will be COL2(RdBu,200). be c(-1,1) when is.
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")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With