【发布时间】:2021-04-30 10:35:13
【问题描述】:
正如您在this post 中看到的那样,有人找到了我的问题的解决方案,即我的 ggplot2 图表中的文本被 unicode-blocks 替换。这是由 ggplot2 (base_family = "") 的默认字体设置错误引起的。因此,解决方法是手动将 base_family 参数设置为“Arial”。
这里你可以看到一个示例代码:
# Libraries
library(ggplot2)
# create data
xValue <- 1:10
yValue <- cumsum(rnorm(10))
data <- data.frame(xValue,yValue)
# Plot
ggplot(data, aes(x=xValue, y=yValue)) +
geom_line() +
theme_classic()
生成的图表如下所示,其中文本以奇怪的 unicode 块显示(抱歉,我不知道它们的确切名称):
我可以通过将主题 base_family 设置为“Arial”来手动解决问题:
# Libraries
library(ggplot2)
# create data
set.seed(42)
xValue <- 1:10
yValue <- cumsum(rnorm(10))
data <- data.frame(xValue,yValue)
# Plot
ggplot(data, aes(x=xValue, y=yValue)) +
geom_line() +
theme_classic(base_family = "Arial")
这是已解决问题的图像,仅当 base_family 设置为特定字体(如“Arial”)时才有效:
问题是为什么我的系统会以某种方式与默认字体发生冲突,如何将默认字体恢复正常?因为现在我必须在我用 ggplot2 制作的每个情节中调用base_family = "Arial" 参数。我应该提到,我没有字体问题,例如无论如何。除了有关如何更改特定主题类型的默认设置的链接外,我没有发现任何类似的问题,但我想将设置重置为正常,以便base_family = "" 再次工作。希望您能帮助我,如果您需要我提供更多信息,请不要犹豫。
R 版本:3.6.1 (2019-07-05)
平台:linux mint x86_64
conda 环境
【问题讨论】:
-
您是否已经尝试过更新 R(版本 4 是游戏!)、所有包和任何适用于 linux 的字体包。我没有使用 linux,但安装的字体可能有问题。这个线程,虽然不是 R,但可能会有所帮助stackoverflow.com/a/42936670/7941188
-
非常感谢您的回复。我会尽快尝试,如果有效,我会更新!
-
您是否尝试将
mscorefonts添加到您的 conda 环境依赖项中? -
感谢您的所有回答。所以我尝试安装 R(版本 4),但据我了解,这与 R-Studio 不兼容。因此,我在另一个 conda 环境中安装了 R v.4.0.3 并安装了
conda install -c r r-irkernel以在 ipython 笔记本中使用 r。但在笔记本中我注意到version仍然是3.6.1。此外,在我的问题中使用上面发布的代码时,图表内的文本问题保持不变.. -
好的,我让 R 版本 4 工作,现在问题已解决。非常感谢@tjebo,也感谢 teunbrand 的意见。