Как ограничить ширину легенды выражением в заголовке в tmap?

Я столкнулся с неожиданным поведением библиотеки tmap, и мне было интересно, есть ли способ обойти это. При создании карты с выражением в заголовке легенды по какой-то причине легенда становится слишком широкой.

Вот код, чтобы показать, что я имею в виду:

library(tmap)
data("World")

# Produces normal legend window
tm_shape(World) +
  tm_polygons("HPI") +
  tm_layout(legend.bg.color = "#AAAAAA")

# Produces wide legend window
title <- expression(Local~G[i]^"*")
tm_shape(World) +
  tm_polygons("HPI", title = title) +
  tm_layout(legend.bg.color = "#AAAAAA")

Я попытался использовать параметр legend.width для tm_layout, но это испортило шрифт и размер символа в строке. Любые идеи, как это исправить? Спасибо!


person karpfen    schedule 18.09.2019    source источник


Ответы (1)


Кажется, что tmap просто принимает неанализируемую длину вашего заголовка как legend.width, и поскольку ширина вашего выражения значительна из-за дополнительных / надстрочных индексов, вы получаете очень широкий фрейм. Я не смог найти способ предотвратить tmap масштабирование текста при использовании legend.width. Одним из решений было бы просто удалить цвет фона. Не идеально, но решает проблему странной ширины.

person Arienrhod    schedule 18.09.2019
comment
К сожалению, для меня это не вариант. На моей базовой карте много чего происходит, поэтому мне нужен фон, чтобы сделать ее удобочитаемой. - person karpfen; 18.09.2019
comment
Может, тогда тебе стоит подумать о ggplot. Определенно более гибкий, когда дело доходит до модификации легенды. - person Arienrhod; 18.09.2019