在 R 中创建自定义热力图

6

我需要创建一个自定义热力图,如附图所示。与传统的热力图不同的是,我想要它使用两种颜色渐变,一种用于正值,另一种用于负值。

enter image description here

如附图所示,我希望一种颜色来表示正值(或理想情况下超过某个阈值),另一种颜色来表示负值(或者是低于该阈值)。

一些背景信息:我有一个二元选择集,其中一个选项在某个数据范围内更好,而另一个选项在其余数据范围内更好。我想提供一个可视化工具,以便说明哪个选项/选择对于不同的数据组合更好,但我还希望这个可视化工具也能提供一个“更好”的比例尺,告诉我们哪个选项比另一个更好。因此,颜色会告诉我们应该选择哪个选项,颜色的强度则会告诉我们一个选项相对于另一个选项的优劣程度。


这被称为发散性色彩板,RColorBrewer软件包中有很多这样的板。只要它在0上正确地居中,那么这就是正确的做法。 - Spacedman
1个回答

9

这是一个使用ggplot2的示例:

# sample data
df <- data.frame(expand.grid(x = 1:4, y = 1:4), v = runif(16, -10, 10))

# plot
ggplot(df, aes(x, y, fill = v, label = sprintf("%.1f", v))) + 
  geom_tile() + geom_text() +
  scale_fill_gradient2(low = "blue", high = "red")

enter image description here


这是一段非常优秀和有用的代码,谢谢! - mfk534

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