Язык R — тепловые карты

#r #graphics #heatmap

Вопрос:

Я пытаюсь построить тепловую карту, используя R. У меня есть матрица значений (в процентах), таких как:

 <p>0 5 0 0 25 30</p>
<p>0 0 0 10 0 0</p>
<p>10 15 65 65 70</p>
 

и так далее.
Что я хочу получить — тепловую карту, где одни и те же значения (по всей матрице) будут представлены одним и тем же цветом. Но я все равно получаю карту, на которой цвет нулевого значения в первой строке отличается от цвета нулевого значения во второй строке и т. Д.
Команда, которую я использовал для построения тепловой карты, — это:

 my_heatmap <- heatmap(my_heat_matrix, Rowv=NA, Colv=NA, col = colors_01, margins=c(5,10))
 

UPD: Извините, я нашел ответ.

Комментарии:

1. так ли это было на самом деле scale="none" ?

2. PS Я думаю, что вам разрешено (даже рекомендуется) ответить на свой собственный вопрос, если вы сами разберетесь в этом …

3. Да, именно масштаб=»нет». Извинись за этот вопрос.

Ответ №1:

Я думаю, вам следует попробовать этот scale="none" аргумент.

Был бы полезен воспроизводимый пример …

 z <- outer(1:10,1:10," ")
heatmap(z,Rowv=NA,Colv=NA)
heatmap(z,Rowv=NA,Colv=NA,scale="none")
 

heatmap может квалифицироваться как самая раздражающая графическая функция R из-за ее использования layout , что делает невозможным упорядочивание графиков на странице каким-либо разумным способом … ( filled.contour и сюжеты из hexbin пакета разделяют аналогичные неприятности).
введите описание изображения здесь

Комментарии:

1. Хорошая причина использовать image() напрямую вместо этого. Также теперь есть функция rasterImage (), чтобы избежать базовых вызовов rect.