如何在ggcorrplot中使用Viridis调色板设置相关矩阵色阶?
问题
我正在使用ggcorrplot包绘制相关矩阵,该包可通过colors = c(...)参数为色阶条设置三色向量,但想了解是否能将色阶条设置为任意Viridis调色板?
现有代码示例
默认样式
library(ggplot2) library(ggcorrplot) corr <- round(cor(mtcars),1) ggcorrplot(corr)

自定义三色样式
ggcorrplot(corr, colors = c('purple','seagreen3','yellow'))

解决方案
可以通过两种方式实现Viridis调色板的应用:
方法1:提取Viridis调色板的关键颜色值
借助viridisLite包的viridis()函数提取调色板的首尾及中间颜色值,直接传入colors参数:
library(viridisLite) # 提取viridis调色板的3个关键颜色 viridis_cols <- viridis(3) ggcorrplot(corr, colors = viridis_cols)
方法2:用ggplot2标度函数替换填充色
ggcorrplot基于ggplot2构建,可直接用scale_fill_viridis_c()替换默认填充色标度,支持完整的Viridis渐变效果,还能切换不同子调色板:
ggcorrplot(corr) + scale_fill_viridis_c(option = "viridis") # option可替换为"magma""plasma""inferno""cividis"等
这种方式更灵活,还能按需调整渐变方向、数值范围等参数。
内容的提问来源于stack exchange,提问作者tassones
相关产品推荐
相关产品推荐

