我希望使用 R 中的 tmap 包将主题绘图的主标题字体从“plain”更改为“italics”,但保留图例标题和文本的字体“plain”。然而,当我在 lm_layout() 函数中更改 fontface 参数时,它会更改地图中所有文本的字体。是否可能仅更改tmap中主标题的字体?以下是我尝试创建可重现示例(不幸的是,它将地图中所有文本的字体更改为“italics”):
library(tmap)
data("World")
tm_shape(World) +
tm_polygons("HPI", title = "World - HPI") +
tm_layout(main.title = "HPI",
main.title.position = "center",
fontface = 3)
修改:tmap包的作者Martijn Tennekes已经为tm_layout(因此也是tmap选项)添加了10个参数,以允许对地图标题、主标题、面板标签、图例标题和图例文本使用本地字体和字族进行控制。
tm <- tm_shape(World) +
tm_polygons(c("HPI", "economy"), title = c("Legend 1", "Legend 2")) +
tm_layout(main.title = "Main Title",
main.title.position = "center",
title = c("Title 1", "Title 2"),
panel.labels = c("Panel 1", "Panel 2"))
# global setting
tm + tm_layout(fontface = 3)
# local setting
tm + tm_layout(main.title.fontface = 1, title.fontface = 2, panel.label.fontface = 3, legend.text.fontface = 4, legend.title.fontfamily = "serif")
fontface
参数是全局的,它覆盖地图中的所有文本。 - Jindra Lackogeom_sf()
绘制静态地图(具有相当先进的格式),或者通过leaflet绘制动态地图,它允许HTML标记。 - Jindra Lackomain.title
中使用_斜体_是为了标记物种的学名,而'plain'文本似乎更适用于图例。我发现修改图例标题为普通标题的一种可行方法是,在新标题周围加上'expression',例如expression("World - HPI")。但不确定如何将其余的图例文本更改为普通文本。 - sjarvie