#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.