Несколько надписей с переносом текста с использованием tmap в R - PullRequest
0 голосов
/ 11 июля 2019

Во-первых: хотите добавить две текстовые метки в Tmap.Добавление одной метки работает хорошо, но вторая не может обработать

Вторая: хотите обернуть текстовую метку после n-го символа.

Это то, что я пробовал:

data(World)

Первая проблема: добавление более одной метки

    #Works -> one label
    tm_shape(World) +
    tm_text("name", size="pop_est", palette="Dark2",
          title.size = "Population", title.col="Continent") +
    tm_legend(outside = TRUE)

    #Does not work -> two labels
    tm_shape(World) +
    tm_text(c("name", "area"), size="pop_est", palette="Dark2",
          title.size = "Population", title.col="Continent") +
    tm_legend(outside = TRUE)

Вторая проблема: перенос текста Используя текстовую оболочку отсюда ( R barplot: перенос длинных текстовых меток? ), я получаю

##Create a wrapping function in R
wrap.it <- function(x, len)
{ 
 sapply(x, function(y) paste(strwrap(y, len), 
                             collapse = "\n"), 
        USE.NAMES = FALSE)
}


##Call this function with a list or vector
wrap.labels <- function(x, len)
{
 if (is.list(x))
 {
   lapply(x, wrap.it, len)
 } else {
   wrap.it(x, len)
 }
}

##Plot the data
wr.lap <- wrap.labels(World$name, 3)

tm_shape(World) +
 tm_text(wr.lap, size="pop_est", palette="Dark2",
         title.size = "Population", title.col="Continent") +
 tm_legend(outside = TRUE)

Буду признателен за любую помощь в этом.

...