pheatmap更改色度条范围-指定0为白色及不完全操作手册

本文详细介绍了如何在使用R语言的pheatmap函数进行相关性热图可视化时,解决正负相关性分布不均的问题,特别关注如何将0映射为白色,以改善视觉效果。操作包括创建数据、指定颜色范围以及调整pheatmap函数的各种参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开篇先记录解决的色度条范围问题。

色度条范围更改

前言

当进行相关性热图可视化时,会存在正负相关性分布不平均的情况。此时我们会调节色度条范围,但这种操作无法保证0处于白色。因此,通过调节不同数值对应的颜色,使0对应白色。

操作

创建数据(随便创一个)

dat <- data.frame(matrix(rnorm(100),ncol=5))

数据显示

指定一个大致的蓝白红的颜色条

library(grDevices)
pheatmap(dat, cluster_rows = F, cluster_cols = F,
         color = colorRampPalette(colors = c("blue","white","red"))(1000))

可以看到 0在红色范围内,我们打算把0表示为白色,这样观感比较好。

bk <- seq(-max(abs(dat)), max(abs(dat)), length.out = 100)

# 确保w
### 回答1: 色度UV(Chroma UV)范围是指在色彩空间中的一种表达方式,常用于描述色彩的饱和度和色调,其中U和V分别表示蓝色和红色与亮度(Y)的偏移量。而xy色度坐标则是根据CIE1931标准定义的,用于描述人眼对同波长的光感受的结果。因此,将色度UV范围转换为xy范围需要进行一定的计算。 转换的具体过程如下: 1.首先,将UV范围转换为CbCr范围,即:Cb=U/0.565,Cr=V/0.485。 2.接着,将CbCr转换为RGB颜色空间中的值,即:R=Y+1.402×(Cr-0.5),G=Y-0.344×(Cb-0.5)-0.714×(Cr-0.5),B=Y+1.772×(Cb-0.5)。 3.最后,根据RGB值计算xy坐标,即:x=X/(X+Y+Z),y=Y/(X+Y+Z),其中X、Y、Z分别为RGB颜色空间的三个分量。 需要注意的是,由于UV范围与xy范围表示的是同的概念,转换时需要进行精确的计算,能否得到准确的结果还与具体的转换算法和参考标准有关。因此,在实际操作中应当根据具体情况选择适合的转换方法。 ### 回答2: 色度UV范围和xy范围都是色彩空间中常用的参数。UV是指从CIE1931标准色度图中,以D65作为白点,从色度图形左下方沿45度线向上偏移90度的区域,包括U、V两个参数;而xy是指以色度图中的两个参数x和y表示颜色的坐标。色度UV范围转换为xy范围是一个常见的问题,需要进行一定的数学运算。 色度UV范围和xy范围之间的相互转换,需要先通过差分方程将xyz色彩坐标系转换为色度UV数值,然后再用一些公式将UV范围转换为xy范围。这里需要用到CIE1931标准色度图中的三个共标参数,即X、Y和Z。将色度UV转换为xy范围的公式为: x = 9*U / (6U-16V+12) y = 4V / (6U-16V+12) 其中,U和V是从色度图中取得的颜色参数。这个转换公式的本质是通过一个数学模型将一种颜色空间中的颜色信息转换为另一种颜色空间中的颜色信息,使得计算机可以更加准确地描述色彩。因此,色度UV和xy范围的转化比较重要,能够帮助计算机更好地把握颜色信息的变化和差异。 ### 回答3: 色度颜色的一种特殊表现形式,它描述的是人眼对颜色在感性上的认知。在色彩处理中,色度可以直接用来描述颜色的饱和度和色调,与色度相似的还有亮度和色温等参数可以用来描述颜色的亮度和冷暖程度等特征。而根据国际色彩联盟CIE的建议,色度可用两个坐标表示,即xy坐标。 色度uv范围转换为xy范围需要进行一定的计算,具体步骤如下: 1.根据色度图中的uv坐标,计算出对应的u'、v'坐标。这一步需要用到以下公式:u' = 4 × uv / (2 × u - 8 × v + 4);v' = 9 × uv / (2 × u - 8 × v + 4)。 2.进一步计算出x、y坐标。这一步需要用到以下公式:x = 3u' / (2u' - v' + 2);y = 2v' / (u' + 2v' - 1)。 3.最后,将计算出的坐标标准化到0-1范围内。这一步很简单,只需要将x、y坐标分别除以它们的和即可。 以上就是色度uv范围转换为xy范围的完整步骤。实际应用中,计算机软件会自动完成这些计算,用户只需要输入对应的数据,即可得到相应的xy坐标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值