R tmap изменяет легенды динамически, чтобы предотвратить наложение значений легенды - PullRequest
1 голос
/ 03 марта 2020

Есть ли способ динамически предотвратить наложение значений в легендах в tmap?

Возьмем такой пример:

library(tmap)
data("World")
tm_shape(World) +
tm_polygons("HPI", n=7)

Легенда не проясняет, какие значения категорий 15, 20 , 25, 30, 35 или 40 принадлежат.

Одним из решений будет следующее:

 tm_shape(World) +
 tm_polygons("HPI", n=7,
   labels = c("0 to 15", ">15 to 20", ">20 to 25", ">25 to 30", ">30 to 35", ">35 to 40", ">40 to 45"))

Однако вам, очевидно, придется менять это вручную каждый раз, когда у вас будет другой n значения для количества категорий.

Может ли аналогичный вывод генерироваться автоматически независимо от того, как категории используются на карте?

1 Ответ

1 голос
/ 03 марта 2020

Следующий код создает квадратную скобку из закрытого интервала (т.е.> =) и «простую» скобку для открытого интервала (т.е. <). Это разумное решение? Вы также можете прочитать подробности в аргументе <code>legend.format.

library(tmap)
#> Warning: replacing previous import 'sf::st_make_valid' by
#> 'lwgeom::st_make_valid' when loading 'tmap'
data("World")
tm_shape(World) +
  tm_polygons("HPI", n = 7, legend.format = list(scientific = TRUE, format = "f"))

Создано в 2020-03-03 пакетом Представить (v0.3.0)

...