Как настроить поля тепловой карты? - PullRequest
1 голос
/ 26 марта 2019

Мне нужно отрегулировать поля моей тепловой карты (особенно сверху и слева).

Я уже выкинул цветные клавиши и заголовок, так как они занимали большую часть моего пространства. Но теперь я остался с пустым пространством. Мне не нужно это в верхней / левой части моей фотографии. Я использовал heatmap2. Я использовал маржу в пределах карты высокой температуры и маржу перед картинкой. Но я не уверен, как они взаимодействуют. Кроме того, я сохраняю свою фотографию в svg и определяю здесь вес и рост.

svg("mypic.svg", width=20, height=16)
par(mar=c(1,10,0.1,10))
heatmap.2(mat_data_round,
          key = F,
          cellnote = note,     
          notecol="black",      
          density.info="none",  
          trace="none",         
          margins =c(7,14),     
          col=colfun,          
          dendrogram="row",    
          Colv="NA",           
          cexRow=2,
          cexCol=2) 

То, что я ожидаю, это не показывать белое / пустое пространство.

Heatmap

Источник

Код (в основном) вдохновлен

https://de.wikipedia.org/wiki/Datei:Gdp_to_debt_ratio.svg

Я пытаюсь настроить и обновить подобные вещи.

Решение Произошло небольшое столкновение с предложенным решением. Мне пришлось удалить main, чтобы заставить его работать. Следующий код удаляет функцию дендрограммы, что нормально. Метки строк и столбцов читаются с предопределенной шириной и высотой моей последней SVG. Большое спасибо

svg("myheatmap.svg", width=20, height=16)
heatmap.2(mat_data_round,
          key = F,
          dendrogram = "none",
          trace = "none",
          cellnote = note,
          notecol="black",  
          col=colfun,  
          Colv="NA",  
          lwid = c(0.2,5),
          lhei = c(0.2,5),
          margins =c(7,14),
          cexRow=2,
          cexCol=2)

1 Ответ

1 голос
/ 26 марта 2019

Вы должны указать поля с аргументами lhei и lwidlhei вы передаете размер поля ниже и выше, а lwid направо и налево.

Точнее: ваш макет представляет собой матрицу из 4 ячеек: 1. тепловая карта, 2. ключ, 3. дендрограмма строки, 4. дендрограмма столбца.С помощью lhei можно указать размер обеих строк, а с помощью lwid - размер обоих столбцов.

library(gplots)

data(mtcars)
x  <- as.matrix(mtcars)

lwid=c(0.2,5) #make column of dendrogram and key very small and other colum very big 
lhei=c(0.2,5) #make row of key and other dendrogram very small and other row big. 

heatmap.2(x,
          key = F,
          dendrogram = "none",
          trace = "none",
          lwid = lwid,
          lhei = lhei)

enter image description here

...