我制作的任何地图:
ggplot() + geom_sf()
生成预期的地图,但未正确显示度数符号,如下图所示。
这个答案中给出的答案 -地图轴标签中的度数符号不正确- 没有帮助,当我看到不同的标志时,我发布了一个单独的问题。
更改字体无济于事。
我还尝试sf在一个单独的项目中从 Github安装当前版本的(0.9) renv,但结果相同。
我在 Linux 上,Fedora 31。
复制:
library("ggplot2")
library("sf")
nc <- st_read(system.file("shape/nc.shp", package="sf"))
ggplot() +
geom_sf(data = nc)
Run Code Online (Sandbox Code Playgroud)
2019-03-15 更新
该问题并非特定于 ggplot/geom_sf;正如评论中所建议的,我遇到了同样的问题plot.new(); text(0.5,0.5, bquote(120*degree*N), cex=5)

另外,澄清一下,我没有在?X11(). 如果我在我的终端中运行fc-match Symbol,我会得到:
StandardSymbolsPS.t1:“标准符号 PS”“常规”
更新 2019-03-19
在全新的 Fedora 31 和 Fedora 32 beta 安装中得到确认。可能是 Fedora 的问题。
我尝试使用不同的语言环境(包括例如“en_US.UTF-8”或“German”)和设备(例如cairo_pdf(), cairo_ps()),结果相同。
X11.options() 将“cairo”显示为类型(将其更改为 Xlib,或者 dbcairo 不会更改结果)。
使用TestChars()dww在下面的答案中提出的函数显示如下:

但是,如果我用 knitr 编织到 pdf,我会得到大多数符号,包括°。
如果我编织到 …
我有这段代码并且我正在使用 RStudio
library(tidyverse)
library(osmdata)
bbx <- getbb("hawaii")
border <- bbx %>%
opq() %>%
add_osm_feature(key = "place",
value = c("island")) %>%
osmdata_sf()
border
ggplot() +
geom_sf(
data = border$osm_lines,
inherit.aes = FALSE,
color = "black",
size = .4,
alpha = .8
)
Run Code Online (Sandbox Code Playgroud)
当我绘制这个时我有这个
正如您所看到的,我在标签中使用了一个白色矩形,而不是度数符号。
我怎么解决这个问题?
提前致谢
PS:我使用的是 Window11 64 位,RStudio 已更新为默认选项,并且所有软件包均已更新。