Fonts in R plots


What graphics devices let me use system fonts for text within charts? The base graphics system only has a small amount of documentation around the par(family=...) options.

Ideally I'd like to be able to use any font I can browse through a tool like xfontsel on Linux or the equivalent utilities on other platforms.

My current solution is to plot out as PDF and then use a 3rd party program to replace the fonts from within the PDF. This is not ideal.

9/8/2009 5:47:14 PM

Accepted Answer

A list of fonts is available to the pdf() command, like this:

> names(pdfFonts())
 [1] "serif"                "sans"                 "mono"                
 [4] "AvantGarde"           "Bookman"              "Courier"             
 [7] "Helvetica"            "Helvetica-Narrow"     "NewCenturySchoolbook"
[10] "Palatino"             "Times"                "URWGothic"           
... etc ...

To use when creating a PDF, for example:

> pdf(file="plot.pdf",family="Palatino", pointsize=16, width=16,height=10)
1/29/2019 2:56:14 AM

You can use system fonts with cairo_pdf. On Ubuntu (and many other types of Linux, I guess), the family argument takes any font name you see in fc-list.

Alternatively, you can use the extrafont package. This will allow you to use any system font with the regular pdf device.

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow