r - 如何在拥挤的 tmap 图例中修复垂直空间 [R]
问题描述
如何修复 tmap 图例中的垂直空间问题,例如链接的基本 R 示例中显示的问题?(图例中的垂直空格;y.intersp
不是公认的参数tmap_add_legend()
)
基本tmap代码:
library(sf)
library(tmap)
tm_shape(st_read(system.file('shape/nc.shp', package = 'sf'))) +
tm_polygons() +
tm_add_legend(
type = 'symbol',
labels = c('Variable A', 'Variable B', 'Variable C', 'Variable D', 'Variable E'),
col = c('#832424FF', 'rosybrown4', 'red', 'red', '#4F8DC2'),
shape = c(19, 19, 4, 5, 15)
)
解决方案
我无法按照您的要求完全找到图例项填充,但如果它符合您的目的,您可以稍微调整size
一下legend.text.size
。
如果您想在单词之间添加填充但不介意图例图标看起来更大/仍然靠近,
s <- st_read(system.file('shape/nc.shp', package = 'sf'))
tm_shape(s) +
tm_polygons() +
tm_add_legend(
type = 'symbol',
labels = c('Variable A', 'Variable B', 'Variable C', 'Variable D', 'Variable E'),
col = c('#832424FF', 'rosybrown4', 'red', 'red', '#4F8DC2'),
shape = c(19, 19, 4, 5, 15),
size = 1.2
) +
tm_layout(legend.text.size = 0.8)
如果您想在图例图标之间放置填充但文本标签之间的距离可以,
tm_shape(s) +
tm_polygons() +
tm_add_legend(
type = 'symbol',
labels = c('Variable A', 'Variable B', 'Variable C', 'Variable D', 'Variable E'),
col = c('#832424FF', 'rosybrown4', 'red', 'red', '#4F8DC2'),
shape = c(19, 19, 4, 5, 15),
size = 0.5
) +
tm_layout(legend.text.size = 1.0)
我希望有人找到可以调整两个填充的更好选择,但这可能同时满足您的目的。
推荐阅读
- python - 对数据框中的列执行 log2 规范化
- c# - 如何使用运行设置从我的代码覆盖范围中排除模块/dll?
- git - 如何使用单用户将远程 Subversion 服务器的所有 Gitlab 存储库与 Subgit 同步?
- spring-messaging - 使用 SimpleMessageListenerContainer 的 SQS 消息丢失?
- java - 如何以编程方式解析 Oracle JDK7 或 JDK8 中的 JFR 文件?
- c# - 解析 XML SOAP 响应 C#
- angular - main.js:1 Uncaught TypeError:Cannot read property 'prototype' of undefined
- python - 如何从包含有效python的字符串中提取“可执行”字符串?
- javascript - 如何计算两个 ISO 时间戳之间经过的秒数?
- java - 如何让 getOne() 抛出 EntityNotFoundError 而不是返回软删除的实体?