Аргумент Pheatmap display_numbers - PullRequest
       7

Аргумент Pheatmap display_numbers

0 голосов
/ 24 января 2019

Мне нужно использовать и показывать звезды для значений в моем 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)

1 Ответ

0 голосов
/ 11 февраля 2019

Я не нашел прямого способа решить вашу задачу, поэтому могу предложить небольшой грязный взлом. Вы можете использовать символ звездочки, отличный от Unicode (U + 2217 ASTERISK OPERATOR). Итак, попробуйте это:

ОБНОВЛЕНИЕ: можно передавать строки Юникода в функцию построения без предварительного анализа. Поэтому я обновил код и удалил 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)

Вот результат: Example result of pheatmap with the different Unicode character

Также вы можете попробовать другие варианты. Следующие два немного больше обычной звездочки.

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