相关疑难解决方法(0)

如何修复在 Linux/Fedora 31 上的 R 中未正确显示的度数符号

我制作的任何地图:

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,我会得到大多数符号,包括°。

从pdf测试

如果我编织到 …

r pango plotmath pangocairo r-sf

8
推荐指数
2
解决办法
1161
查看次数

地图轴标签中的度数符号不正确

如果我使用 来创建地图geom_sf,轴标签的度数符号是错误的。我得到的度数符号在文本中垂直居中,而不是像上标一样凸起。

例如,

library(sf)                                            
library(ggplot2)                                       
nc = st_read(system.file("shape/nc.shp", package="sf"))

ggplot() +                                             
  geom_sf(data = nc) +
  theme(axis.text = element_text(size=16))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

当我在网上看到示例时,它们通常看起来是正确的(例如下图,从这里复制),所以我猜这与我本地设置中的某些内容有关。

在此处输入图片说明

我曾尝试更改字体,使用library(extrafont)但这个问题仍然存在于我尝试的每种字体中。

更新

我不认为这是一个特定ggplot-问题,因为我得到同样的事情与使用任何图形degree关键字plotmath。例如

par(mar=c(0,0,0,0))
plot.new()
text(0.5,0.5, bquote(120*degree*N), cex=5)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我在Linux(Kubuntu 19.04), R3.5.2, ggplot2v. 3.2.1, sfv. 0.7-7。不确定还有哪些其他信息可能相关,但我可以用其他任何要求更新答案。

r ggplot2 plotmath

5
推荐指数
2
解决办法
584
查看次数

标签 统计

plotmath ×2

r ×2

ggplot2 ×1

pango ×1

pangocairo ×1

r-sf ×1