dww*_*dww 5 r ggplot2 plotmath
如果我使用 来创建地图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。不确定还有哪些其他信息可能相关,但我可以用其他任何要求更新答案。
小智 9
我遇到了类似的问题,在阅读此处和其他一些相关问题后,我找到了解决方案。我正在使用 Rstudio,所以我想如果你在没有它的情况下使用 R,你会很容易找到你的工作(希望如此)。
我的解决方案是“工具”->“全局选项”,在这里我将后端更改为开罗。
变化看起来是这样的:
终于设法找到了答案:
从 ?X11 它说:
在安装了 Wine 符号字体的 Linux 系统上已经看到了符号渲染不正确的问题(例如,quote(pi) 和 expression(10^degree))——fontconfig 然后更喜欢这个并误解了它的编码。将以下行添加到“~/.fonts.conf”或“/etc/fonts/local.conf”可以通过首选 URW Type 1 符号字体来避免此问题。
<fontconfig>
<match target="pattern">
<test name="family"><string>Symbol</string></test>
<edit name="family" mode="prepend" binding="same">
<string>Standard Symbols L</string>
</edit>
</match>
</fontconfig>
Run Code Online (Sandbox Code Playgroud)
添加这些行来/etc/fonts/local.conf解决我的问题。