我正在使用heatmaply包来可视化单元格表达式数据。
我想使用自定义颜色,并将“黄色”指定给表达式级别>2,将“品红色”指定给表达式级别< -2。[-2,2]之间的范围应该用“品红色”-“黑色”-“黄色”的平滑渐变来表示。
在这里,我的示例文件是一个10行x 5列的矩阵:

my_palette<-PurpleAndYellow(50)
heatmaply(test,col = my_palette, dendrogram = "none")它产生正确的"PurpleAndYellow“颜色热图,但是它在整个范围内缩放-5,+5

如果我指定scale_fill_gradient_fun,热图的颜色将变为"RdBu“spectre (Heatmap2):
heatmaply(ab, col = my_palette, dendroram="none",
scale_fill_gradient_fun = ggplot2::scale_fill_gradient2(
low = "magenta", mid="black",high = "yellow", midpoint = 0,
limits = c(-2, 2)))

你能告诉我如何使用heatmaply更改热图的颜色和调整亮度吗?
发布于 2020-05-24 02:22:24
我认为添加限制是正确的,但没有必要添加scale_fill_gradient_fun。这会自动覆盖调色板,除非您在此函数中也指定了调色板。无论如何,我相信这应该是可行的:
library(heatmaply)
my_palette<-PurpleAndYellow(50)
heatmaply(test,col = my_palette, dendrogram = "none", limits = c(-2, 2))在亮度方面,我不确定是否能像你想象的那样解决这个问题。在我看来,可见度的问题不是由于亮度,而是因为你正在淡入和淡出黑色的事实。我认为一个好的选择可能是改变你的渐变,这样中心就不会褪色成黑色-也许是浅灰色或类似的东西。
https://stackoverflow.com/questions/61009901
复制相似问题