如何在色带调色板中增加颜色强度

4
我正在使用R中的pheatmap包制作不同数据类型的热图,并使用colorramppalette来设置颜色,但颜色太亮了。
我想要一些暗淡的颜色,该怎么做呢?
以下是代码:
hmcols<-colorRampPalette(c("white","red"))(256)

pheatmap(
  test,
  color=hmcols,
  cluster_rows=FALSE,
  cluster_cols=FALSE,
  legend=TRUE,
  show_rownames=FALSE,
  show_colnames=FALSE,
  filename="a.png"
)

我该如何增加colorramppalette中的颜色强度,或者是否可以使用其他类似于pheatmap的热图包但产生深色调?


我尝试过了...例如,我想要像这样的图片http://genome.cshlp.org/content/21/2/245/F2.large.jpg - abh
你可能想阅读一下关于StackOverflow的介绍和常见问题解答,了解它是如何工作的。当你收到一个解决你问题的答案时,通过点击小复选框或点赞来接受它,这将使得StackOverflow对每个人都更有价值。虽然你没有任何义务这样做,但如果一个答案确实解决了你的问题并帮助保持网站的整洁,这是回馈网站的好方法,因为已经回答的问题会从未回答的问题堆栈中移除。如果你需要进一步的颜色建议,请提出要求。 - Simon O'Hanlon
1个回答

6

尝试使用hcl并调整亮度步长。例如:

cols <- hcl(0,l=seq(1,100,length=11))
cols
# [1] "#3F0000" "#470016" "#591D2D" "#6F3744" "#87505B" "#A06974" "#BB838D" "#D69DA8"
# [9] "#F1B8C3" "#FFD4DE" "#FFF0FB"
plot(1:11,cex=4,bg=cols,pch=21)

?hcl 下有很多示例,我相信你会找到适合你需求的一些颜色断点。如果不符合你的需求,你也可以使用 RColorBrewer 包中发现的一些颜色比例尺(我强烈推荐使用它们的优秀网站以获取更多颜色比例尺),并使用 colorRampPalettebrewer.pal 插值颜色,可能需要截断颜色比例尺的末端。你也可以使用分散的颜色比例尺,而不是连续的颜色比例尺,同样来自于 RColorBrewer。以下是一些示例:
require(RColorBrewer)
par(mfrow=c(2,2))

cols <- colorRampPalette( colors = hcl(0,l=seq(1,100,length=11)) )
plot( 1:11 , cex = 4 , bg = cols(11) , pch = 21 , main = "HCL Colours")

cols <- colorRampPalette( colors = rev(brewer.pal(9,"Reds")) )
plot( 1:11 , cex = 4 , bg = cols(11) , pch = 21 , main = "Sequential RColorBrewer palette")

cols <- colorRampPalette( colors = rev(brewer.pal(9,"Reds"))[1:5] )
plot( 1:11 , cex = 4 , bg = cols(11) , pch = 21 , main = "Truncated sequential\nRColorBrewer palette" )

cols <- colorRampPalette( colors = brewer.pal(9,"RdBu") )
plot( 1:11 , cex = 4 , bg = cols(11) , pch = 21 , main = "Diverging RColorBrewer palette" )

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接