【问题标题】:Manipulating the font of a legend title with tmap使用 tmap 操作图例标题的字体
【发布时间】:2018-05-26 03:16:01
【问题描述】:

第一次在stackoverflow上发帖。我一直在学习使用 tmap,并且已经为我需要的等值线图准备了几乎所有东西。但是,我似乎无法找到答案的最后一步是使图例标题大于其下方的文本。也想加粗。这是我的代码示例:

tm_shape(Shakira) + 
tm_polygons("mydata3$nkill", textNA="Missing Data", 
title="Deaths From Terrorism", 
          contrast = 1, style = "kmeans",
          palette = "Greens") +
tm_text("NAME_1", size = "AREA") +
tm_style_natural() +
tm_legend(position = c("right", "top"),
        bg.color = "white",
        bg.alpha=.2,
        width = .25, title.size = 5) +
tm_layout(legend.title.size = .5, legend.text.size = .65,
        legend.frame = TRUE)

我以为是legend.title.size,但所做的只是增加或减少标题与其下方文本之间的间距,而不是使字体有任何不同。感谢您对此提供的任何帮助!

【问题讨论】:

  • 我遇到了同样的问题。你找到解决办法了吗?

标签: r tmap


【解决方案1】:

要设置字体大小,您确实需要title.size,请注意legend.title.size 用于图例标题和普通title.size 用于主图表标题之间的区别。

要使文本变为粗体,请使用fontface 参数,它遵循 R 标准 - 粗体为 2,斜体为 3。

你的例子不能完全重现,所以我想出了一个快速的例子:

library(tmap)
data(Europe)

Europe <- Europe[!is.na(Europe$EU_Schengen), ] # to make it cleaner

tm_shape(Europe) + tm_borders() +
  tm_style_white("A map with normal title", frame = F, title.size = 1)


tm_shape(Europe) + tm_borders() +
  tm_style_white("A map with big title", frame = F, title.size = 2) 

tm_shape(Europe) + tm_borders() +
  tm_style_white("A map with bold title", frame = F, fontface = 2)

这是正常的标题: 这是一个大的: 这是粗体

【讨论】:

  • 这个答案没有解决图例标题字体大小的设置,也没有解决legend.title.size似乎只控制图例标题与其下方文本之间的空间,而不是图例标题字体的事实大小。
猜你喜欢
  • 2015-12-29
  • 2020-10-15
  • 2020-06-01
  • 1970-01-01
  • 2020-12-07
  • 1970-01-01
  • 2020-07-08
  • 2020-01-19
  • 2020-02-09
相关资源
最近更新 更多