Карта R: используйте логарифмическое масштабирование в легенде

у меня есть матрица

library(pheatmap)
set.seed(1)
mat <- matrix(rexp(200, rate=.001), ncol=20)
pheatmap(mat)

и есть одно значение, которое намного выше остальных. Поэтому я хотел бы использовать логарифмическое масштабирование для строки легенды (1, 10, 100, 1000, ...).

Есть ли возможность сделать это с пакетом pheatmap?

РЕДАКТИРОВАТЬ: я не хочу делать log(mat), я только хочу, чтобы шкала масштабирования цвета была логарифмической (1, 10, 100, 1000, ...).


person Johannes    schedule 14.07.2018    source источник


Ответы (1)


Просто добавьте логарифмическое legend_breaks и покажите метку максимума.

pheatmap::pheatmap(mat, legend_breaks=c(10^(0:ceiling(log10(max(mat)))), 
                                        round(max(mat), 2)))

Урожайность

сюжет

person jay.sf    schedule 14.07.2018