В «R» во время черчения библиотека «tmap» размещает метки вне области черчения (частично) - PullRequest
0 голосов
/ 19 мая 2019

Я импортирую шейп-файл в R и пытаюсь нанести его на метки.К сожалению, некоторые ярлыки перекрываются.Вот почему я должен использовать параметр " auto.placement = T " для функции " tm_text ".Но этот параметр размещает некоторые метки за пределами области черчения (частично).Положение меток на каждом графике случайное.Иногда надписи находятся в области печати, но в большинстве случаев они не обрезаются.

Как видно на скриншоте "Palangos m."урезан до "ангос м."и "Клайпедос м."урезано до "aipedos m."в область построения?

1 Ответ

0 голосов
/ 20 мая 2019

Управление случайностью auto.placement = T затруднительно (хотя настройка seed может помочь).

Что вы можете сделать, так это слегка отрегулировать ограничивающую рамку вашего tmap объекта, чтобы оставалось больше места для двух или около того пропущенных букв.

Увеличение bbox на половину, вероятно, является преувеличением, но вы можете настроить его по мере необходимости.

bbox_new <- st_bbox(area_r1) # current bounding box

xrange <- bbox_new$xmax - bbox_new$xmin # range of x values
yrange <- bbox_new$ymax - bbox_new$ymin # range of y values

  bbox_new[1] <- bbox_new[1] - (0.5 * xrange) # xmin - left
# bbox_new[3] <- bbox_new[3] + (0.5 * xrange) # xmax - right
# bbox_new[2] <- bbox_new[2] - (0.5 * yrange) # ymin - bottom
# bbox_new[4] <- bbox_new[4] + (0.5 * yrange) # ymax - top

bbox_new <- bbox_new %>%  # take the bounding box ...
  st_as_sfc() # ... and make it a sf polygon

tm_shape(area_r1, bbox = bbox_new) + 
  tm_fill("winner", title = "Winner", style = "cat", 
      palette = c("#FFFFB3", "#1F78B4", "#1A9850", "#E7298A") ) +
  tm_legend(text.size = 0.75) +
  tm_layout("", legend.position = c("left", "bottom")) +
  tm_borders("grey60") +
  tm_layout(frame = F) +
  tm_text("savivald", size = .65, col = "black", auto.placement = T)

Я написал пост в блоге, в котором кратко описывается техника. https://www.jla -data.net / eng / Adjusting-Liming-Box-of-a-tmap-map /

Ваш пример не совсем воспроизводим, но это изображение (создающее больше места для "большого жирного заголовка" на карте Северной Каролины) должно дать вам представление.

enter image description here

...