Fout in raster.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : Polygoonrand niet gevonden

Ik heb zojuist RStudio geïnstalleerd op Mac OS X, versie 10.7.3.
Na het uitvoeren van de volgende opdrachten

library(ggplot2)
qplot(mpg, wt, data=mtcars)

Ik krijg de volgende foutmelding:

Error in grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  : 
  Polygon edge not found
In addition: Warning messages:
1: In grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  :
  no font could be found for family "Arial"
2: In grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  :
  no font could be found for family "Arial"

Hoe los ik dit op?


Antwoord 1, autoriteit 100%

dit overkwam mij en ik ontdekte dat het arial-lettertypebestand was uitgeschakeld. controleer eerst of Arial.ttfis verplaatst naar de directory met uitgeschakelde lettertypen. vanaf de terminal:

ls /Library/Fonts\ Disabled

zo ja, verplaats het dan terug naar de actieve fonts-directory.

sudo mv /Library/Fonts\ Disabled/Arial.ttf /Library/Fonts

log uit, log in en open vervolgens de toepassing ‘Lettertypeboek’. in mijn geval was arial vooraf aanwezig, maar het was de Microsoft-versie die was opgeslagen in /Library/fonts/Microsoft/. Lettertypeboek kan nu een gele driehoek tonen naast de naam van het lettertype, wat aangeeft dat er meerdere exemplaren van het lettertype bestaan. markeer de naam van het lettertype en kies de opdracht Resolve Duplicatesin het menu Edit. dit zou de Microsoft-kopie moeten uitschakelen, wat u kunt bevestigen door een van de arial-lettertypen te selecteren (klik op het uitgevouwen driehoekje naast de naam van het lettertype), klik met de rechtermuisknop op het label met het label Offen kies Reveal in Finder, die een venster naar de Microsoft-lettertypenmap zou moeten openen.


Antwoord 2, autoriteit 43%

Dus ik liep tegen hetzelfde probleem aan met een code die slechts een paar weken daarvoor werkte, en geen enorme update van iets op de computer (behalve misschien het besturingssysteem, nu ik erover nadenk…).
De manier waarop ik het heb opgelost, is dat ik het grafische venster dwong om eerst te openen door

. te bellen

quartz()

voor mijn grafieken, en het werkte. Nog steeds onzeker over het lettertype, lijk ik de Arial op zijn plaats te hebben.


Antwoord 3, autoriteit 16%

Na een paar pogingen denk ik dat deze ‘oplossing’ zou kunnen helpen.
Probeer dit eerst uit te voeren om er zeker van te zijn dat de lettertypen echt bestaan:

loadfonts(dev="win")

Als dat het geval is, bel dan het volgende om er zeker van te zijn dat de naam die je belt gelijk is aan de naam die R kent:

windowsFonts()

Probeer anders het volgende:

library(extrafont)
extrafont::font_import()

De bovenstaande problemen zijn voor mij opgelost. Ik hoop dat iemand in de toekomst door hetzelfde kan worden geholpen.


Antwoord 4, autoriteit 11%

Na steeds weer hetzelfde probleem tegen te komen en verschillende oplossingen geprobeerd te hebben, heb ik besloten om het lettertype Arialextern te gebruiken en toe te voegen aan het Lettertypeboek. Voorafgaand aan deze oefening had ik een aantal lettertypen die bij MS Office werden geleverd, zoals Arial Black, Arial Narrow en dus geen maar geengewoon Ariallettertype zichtbaar. Ik vermoed dat dit kan worden verklaard door het vreemde lettertypebeleid dat MS-applicaties op Mac toepassen, dat in meer detail wordt besproken hier. Desalniettemin lijkt het erop dat het extern toevoegen van een lettertype het probleem heeft opgelost.

Alle lettertypen


Antwoord 5, autoriteit 9%

Zoals anderen al hebben aangehaald, lijkt dit probleem zeker verband te houden met een Microsoft Office-upgrade (mijn bedrijf had de software net geüpgraded vlak voordat het probleem opdook).

Na een poging om een eenvoudige ggplot2-plot uit te voeren, ontving ik de volgende fout en waarschuwing:

Error in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  : 
  polygon edge not found
Warning messages:
1: In grid.Call(C_stringMetric, as.graphicsAnnot(x$label)) :
  no font could be found for family "Arial"

Ik heb dit probleem opgelost door de volgende acties uit te voeren:

(1) Lettertypenboek openen

(2) Navigeer naar het lettertype Arial

(3) Klik met de rechtermuisknop -> “Herstel lettertype”

Toen werd de plot perfect weergegeven.

Ik hoop dat dit helpt!


Antwoord 6, autoriteit 5%

Ik heb een extra parameter toegevoegd aan mijn qqplot() functie als volgt:

theme(text=element_text(family="Garamond", size=14))

en ja hoor, ik heb een grafiek. Eindresultaat is dan:

ggplot(train, aes(x = pclass, fill = factor(survived))) +
  geom_bar() +
  xlab("Pclass") +
  ylab("Total Count") +
  labs(fill = "Survived") +
  theme(text=element_text(family="Garamond", size=14))

Ik heb Font Book geopend en op mijn systeem (Mac OSX 10.12.3) wordt Arial weergegeven als uitgeschakeld. Ik heb Microsoft-apps geïnstalleerd, inclusief MS Excel, maar ik kan op dit moment het uitschakelen van een lettertype niet correleren met de installatie van een MS-app.
HTH


Antwoord 7, autoriteit 5%

Voor het Mac-besturingssysteem heb ik veel opties geprobeerd, maar uiteindelijk werkte het volgende.
– open lettertypeboek en verwijder arial-lettertypen uitschakelen (inschakelen).
– herstart de computer.


Antwoord 8, autoriteit 2%

Ik kwam hetzelfde probleem tegen (interessant genoeg kreeg ik de foutmelding bij het aanroepen van de “spplot”-functie in plaats van een van de ggplot2-functies). Omdat ik onlangs MS Office voor Mac had geïnstalleerd, probeerde ik het MS dubbele Arial-lettertype uit te schakelen, zoals eerder werd gesuggereerd, maar kreeg de foutmelding nog steeds herhaaldelijk, zelfs nadat ik dit had gedaan. Uiteindelijk heb ik gewoon alle dubbele lettertypen van MS Office verwijderd (Go–>Computer–>Macintosh HD—>Bibliotheek–>Fonts en vervolgens de Microsoft-map naar de prullenbak verplaatst). Ik weet niet zeker welk effect dit zal hebben op mijn MS-toepassingen, maar het lijkt mijn R-problemen te hebben verholpen, wat op dit moment toch belangrijker voor mij is!


Antwoord 9, autoriteit 2%

Ik heb dit opgelost door naar Lettertypeboek te gaan, naar Bestand -> Standaardlettertypen herstellen.


Antwoord 10, autoriteit 2%

Ik heb hetzelfde probleem ondervonden en het was genoeg om het plotgebied opnieuw in te stellen (dev.off()).


Antwoord 11

Ik kwam net hetzelfde probleem tegen na het updaten van mijn besturingssysteem en een nieuwe installatie van MS Office, wat de boosdoener lijkt te zijn.

Omdat ik de terminalbenadering niet werkend kreeg, ging ik gewoon rechtstreeks naar het lettertypeboek en schakelde ik de uitgeschakelde lettertypen (Arial, Times New Roman, Verdana) handmatig in. Na opnieuw opstarten lijkt alles nu goed te werken.

Dit lijkt me de meest naïeve oplossing, maar het is ook het gemakkelijkst te implementeren imho.


Antwoord 12

Ik kwam een soortgelijk probleem tegen met de functie:

ggarrange (ggpubr package)    

Het is opgelost door het pakket handmatig te deactiveren en te activeren (door op het pakket te klikken in “pakketten”). Misschien helpt dit ook anderen 🙂


Antwoord 13

Toen ik op MacOS werkte, kreeg ik dezelfde foutmelding met de waarschuwingen die in plaats van Arial de Roboto Condensed-lettertypen noemden. Dus die heb ik geïnstalleerd, waardoor de waarschuwingen zijn verwijderd, maar niet de foutmelding.

Error in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  : 
  polygon edge not found

Toen vond ik op https://community.rstudio.com/t/still-fighting-with-grid-call-c-textbounds-as-graphicsannot-x-label -xxxy-polygon-edge-not-found-error/65559de tip om X11 opnieuw te installeren https:/ /www.xquartz.org.

Daarna verdween de fout … maar het plotte nog steeds niet als de code zich in een R-bestand bevond. Het werkt echter wel als ik in RStudio brei vanuit een R-markdown-document.


Antwoord 14

Ik ben hier niet zo goed in dat ik het me kan veroorloven om niet eerst de meest elementaire vragen te stellen, neem me niet kwalijk :slight_smile:

Ik begrijp dat zowel de R-consoletaken als Rstudio begonnen te falen in hun grafische plottaken, en dat wanneer u nu een triviaal plotverzoek uitvoert, u een foutfout krijgt en geen plot.

Heb je de sessies gereset? (Ctrl+Shft+F10)
Soms kunnen sessies toch beschadigd raken.

Als je iets anders wilt proberen, vóór die route, kan het de moeite waard zijn om het grafische apparaat te stoppen. dev.off() en probeer dat elementaire plot opnieuw.

Natuurlijk, als je probleem hardnekkig is, tot aan nieuwe sessies, dan zal ik zeker moeten toegeven aan anderen met meer expertise om hierover na te denken.

Met vriendelijke groet,
Nir


Antwoord 15

Bizarre fout. Maar voor mij was de oplossing op mac eenvoudig: update Xquartz gewoon.

Open spotlight zoeken met cmd+ spatie, zoek naar Xquartz

Eenmaal geopend, ga naar ongeveer -> Controleer op updates -> Bijwerken.


Antwoord 16

Als een snelle test of deze fout het gevolg is van een lettertype-gerelateerd probleem, kunt u proberen te plotten zonder tekst (zie onderstaande code). Als de tweede tekstvrije plot werkt en je op een Mac werkt, heb ik een vergelijkbare benadering als anderen gebruikt en het volgende gedaan:

  1. Klik op Command-Space en typ Font Bookom die app te openen
  2. Klik met de rechtermuisknop op Arial en selecteer Disabled Arial
  3. Klik met de rechtermuisknop op Arial en selecteer Enable Arial
  4. Wanneer gevraagd om Resolve Duplicatesgeselecteerd Resolve Automatically
  5. Beëindig RStudio en open RStudio opnieuw (ik hoefde mijn computer niet opnieuw op te starten)
  6. Herhaal wat plotcode en het werkte prima zonder de fout
   # test whether error is being generated by a font issue
    library(ggplot2)
    # this fails with font issue
    mtcars %>% 
      ggplot() + 
        aes(x = wt, y = mpg) + 
        geom_point()
    # remove all fonts to test if issue is font-related
    mtcars %>% 
      ggplot() + 
        aes(x = wt, y = mpg) + 
        geom_point() + 
        theme(text = element_blank())

Other episodes