Pheatmap display_numbers 参数

Pheatmap display_numbers argument

我需要在我的 pheatmp 中使用和显示星星来表示重要性,我使用了以下方法。 正如您所看到的,图中报告的星星越过单元格边界。有没有办法让它在单元格中居中?

test_vals <- matrix(rnorm(20), 5, 4)
test_labels <- matrix(1:20, 5, 4) 
test_labels[test_labels<=10] <- "**"
pheatmap(test_vals, display_numbers = test_labels, fontsize_number=40, cellheight=20)

我没有找到解决你的任务的直接方法,所以我可以建议一些肮脏的技巧。您可以使用与 Unicode 不同的星号 (U+2217 ASTERISK OPERATOR)。所以试试这个:

更新:可以将 Unicode 字符串传递给绘图函数而无需事先解析。因此我更新了代码并删除了 stringi 库要求。

library(pheatmap)

test_vals <- matrix(rnorm(20), 5, 4)
test_labels <- matrix(1:20, 5, 4) 
test_labels[test_labels <= 10] <- "\u2217\u2217"
pheatmap(test_vals, display_numbers = test_labels, fontsize_number=20, cellheight=20)

结果如下:

此外,您可以尝试其他变体。接下来两个稍微大一点的普通星号。

# Heavy asterisk
#test_labels[test_labels<=10] <- "\u2731\u2731"
# Full width asterisk
#test_labels[test_labels<=10] <- "\uFF0A\uFF0A"