R - gplots - удаление пустого пространства в heatmap.2, когда ключ =FALSE

Я имею:

library(gplots);
x<-matrix(seq(1:100),nrow=10,byrow=TRUE);
heatmap.2(x, Rowv=NA, Colv=NA, scale="none", main="This title will be cut off by the white space where the non-existant key is supposed to go.", col=gray((255:0)/255), dendrogram="none",trace="none", key=FALSE);

Когда ключ задан как FALSE, с левой стороны графика появляется блок пустого пространства, который не позволяет отображать полный заголовок, конфликтует с ручным указанием меньших полей и перемещает тепловую карту вправо. Ширина пустого пространства контролируется с помощью "keysize=#", но слишком малое значение (где-то между 0,8 и 1,0) создает ошибку: "Error in plot.new() : figure margins too large"

Я бы попробовал сделать это с heatmap() вместо heatmap.2(), но тепловая карта плохо сочетается с par() который мне нужен для проекта. Если у кого-то есть какие-либо предложения, я буду признателен.

1 ответ

Решение

Позиционирование элементов графика heatmap.2 может быть выполнено с использованием параметров компоновки.

layout(mat = lmat, widths = lwid, heights = lhei)

Я получаю довольно приемлемый график тепловой карты, используя следующее.

heatmap.2(x, 
    Rowv=NA, 
    Colv=NA, 
    scale="none", 
    main="This title will be cut off by the white space where the non-existant key is supposed to go.", 
    col=gray((255:0)/255), 
    dendrogram="none",
    trace="none", 
    key=FALSE, 
    lmat=rbind(c(2),c(3),c(1),c(4)), 
    lhei=c(1,1,9,0), 
    lwid=c(1)
    );

Пожалуйста, обратитесь к ?layout или этот ответ на Stack Exchange для более подробной информации.

Другие вопросы по тегам