Как вы регулируете / контролируете масштаб в древовидной карте (используя библиотеку «портфолио») в R? - PullRequest
5 голосов
/ 27 сентября 2011

Я использую R и библиотеку 'портфолио' для построения древовидной карты. По умолчанию используется шкала от -1000 до 1000.

Мне нужно, чтобы он был, например, от 0 до 1000. Я знаю, что для map.market () есть параметр 'scale', но я не могу понять, что ему передать.

1 Ответ

3 голосов
/ 03 октября 2011

Симметричное цветовое отображение вокруг нуля жестко закодировано в map.market:

legend.ncols <- 51
l.x <- (0:(legend.ncols - 1))/(legend.ncols)
l.y <- unit(0.25, "npc")
l.cols <- color.ramp.rgb(seq(-1, 1, by = 2/(legend.ncols - 
    1)))
if (is.null(scale)) {
    l.end <- max(abs(data$color.orig))
}
else {
    l.end <- scale
}

и,

top.list <- gList(textGrob(label = main, y = unit(0.7, "npc"), 
    just = c("center", "center"), gp = gpar(cex = 2)), segmentsGrob(x0 = seq(0, 
    1, by = 0.25), y0 = unit(0.25, "npc"), x1 = seq(0, 1, 
    by = 0.25), y1 = unit(0.2, "npc")), rectGrob(x = l.x, 
    y = l.y, width = 1/legend.ncols, height = unit(1, "lines"), 
    just = c("left", "bottom"), gp = gpar(col = NA, fill = l.cols), 
    default.units = "npc"), textGrob(label = format(l.end * 
    seq(-1, 1, by = 0.5), trim = TRUE), x = seq(0, 1, by = 0.25), 
    y = 0.1, default.units = "npc", just = c("center", "center"), 
    gp = gpar(col = "black", cex = 0.8, fontface = "bold")))

Обратите внимание на наличие операторов seq(-1,1,...).Параметр scale влияет только на абсолютный размер.

...