Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R找不到用于打印的字体_R_Macos - Fatal编程技术网

R找不到用于打印的字体

R找不到用于打印的字体,r,macos,R,Macos,我用的是R3.5.2。在麦克莫哈韦10.14.4。因为有几天我的标准绘图中出现了文本问题。使用ggplot绘制绘图也不起作用。我收到消息说: 对于标准图: 警告信息: 1:在doTryCatch(返回(expr)、名称、parentenv、处理程序)中: 找不到族“Arial”的字体 对于带有ggplot2的绘图: grid.Call(C_textBounds,as.graphicsAnnot(x$label),x$x,x$y, :未找到多边形边 欢迎对我如何找到问题并解决问题提出任何建议 我已

我用的是R3.5.2。在麦克莫哈韦10.14.4。因为有几天我的标准绘图中出现了文本问题。使用ggplot绘制绘图也不起作用。我收到消息说:

对于标准图:

警告信息: 1:在doTryCatch(返回(expr)、名称、parentenv、处理程序)中: 找不到族“Arial”的字体

对于带有ggplot2的绘图:

grid.Call(C_textBounds,as.graphicsAnnot(x$label),x$x,x$y,
:未找到多边形边

欢迎对我如何找到问题并解决问题提出任何建议

我已经尝试了以下步骤:

  • 转到字体手册并禁用被动字体。重新启动计算机
  • 将R升级到R 3.6.0
  • 我每次都可以使用
    par(family=“Arial”)
    作为标准绘图的变通方法,但这不适用于ggplot2
  • 在字体手册中重新安装标准字体
  • 我在R中安装了extrafont软件包。键入fonts()时,所有字体都显示为已安装
  • 根据MacOSX,字体都已安装,处于活动状态,并且没有重复出现,但我仍然无法使用R访问它们

    这是我正在测试的代码:

    x <- seq(1, 10,1)
    y <- rnorm(10, 4,1)
    plot(y~x)
    
    library(ggplot2)
    
    # Basic normal curve
    p  <- ggplot(data.frame(x = c(-4, 4)), aes(x = x)) +
      stat_function(fun = dnorm, size=1.5)
    p
    

    x您是否尝试过使用
    font\u import()
    ?之后,
    font()
    为我提供了可以使用的新字体(以前没有)

    之后,我可以使用
    theme()
    中的
    family
    -属性编辑字体:


    x与
    extrafont
    并行,下面是使用的解决方案

    库(showtext)
    font#添加(“Arial”,“/Library/Fonts/Arial.ttf”)#使用实际的文件路径
    showtext_auto()
    
    x建议将建议的行放在您的主目录的.rprofile文件中。如果您的主目录中没有此文件,请创建一个。每次启动R会话时都会执行此文件。但是,此修复程序只给了我一个有效的屏幕图像——当我将quartz窗口复制并粘贴到另一个应用程序(例如预览)中时,它不起作用

    这两行代码从终端执行,修复了问题。不需要font\u add()

    iMac:~>cd/Users/MyUserName/Library/font


    iMac:Fonts>cp/Library/Fonts/Arial*

    我尝试了你的建议,但没有任何改变。在
    font\u import()之前,我有34种字体。之后的数量相同。在
    font\u import()期间
    我收到的消息像/Library/Fonts/Arial.ttf:ArialMT已经在字体数据库中注册。跳过。Ik可以使用
    主题()中的
    族属性`使用Webdings,但不使用Arial。谢谢你,MrH。你让我走上了正确的道路。似乎Arial.ttf文件不知何故被损坏了。我从我的另一台Mac上复制了它,现在它又可以工作了。
    
    x <- seq(1, 10,1)
    y <- rnorm(10, 4,1)
    plot(y~x)
    
    library(ggplot2)
    library(extrafont)
    
    fonts()
    font_import(prompt = TRUE)
    fonts()
    
    # Basic normal curve
    p  <- ggplot(data.frame(x = c(-4, 4)), aes(x = x)) +
      stat_function(fun = dnorm, size=1.5) + theme(text = element_text(family = "Arial"))
    p
    
    library(showtext)
    font_add("Arial", "/Library/Fonts/Arial.ttf")  # Use the actual file path
    showtext_auto()
    
    x <- 1:10
    y <- rnorm(10, 4, 1)
    pdf("plot1.pdf")
    plot(y ~ x, family = "Arial")
    dev.off()
    
    library(ggplot2)
    # Basic normal curve
    p <- ggplot(data.frame(x = c(-4, 4)), aes(x = x)) +
        stat_function(fun = dnorm, size = 1.5) +
        theme(text = element_text(family = "Arial"))
    ggsave("plot2.pdf", p)