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

Я пытаюсь построить тепловую карту с помощью 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: Извините, я нашел ответ.


person Mikael    schedule 23.05.2011    source источник
comment
это действительно было scale="none" ?   -  person Ben Bolker    schedule 24.05.2011
comment
PS Я думаю, вам разрешено (даже поощряется) ответить на ваш собственный вопрос, если вы сами разберетесь...   -  person Ben Bolker    schedule 24.05.2011
comment
Да, точно масштаб=нет. Извините за этот вопрос.   -  person Mikael    schedule 17.06.2011


Ответы (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 имеют схожие проблемы). введите здесь описание изображения

person Ben Bolker    schedule 23.05.2011
comment
Хорошая причина использовать image() напрямую. Также теперь есть rasterImage(), чтобы избежать базовых вызовов rect. - person mdsumner; 24.05.2011