Как изменить семейство шрифтов в легенде в R-сюжете?

У меня есть график, использующий базовый графический пакет. Для меток на определенных точках я использую

   text(i, MSSAcar$summary[i,7]+.7, qld$LGA[i],
   col='red',  cex=.7, family='serif')

Я также использовал это в графике для основных заголовков и меток осей. Все они выходят, как ожидалось.

Когда я добавляю легенду, я не могу установить семейство шрифтов.

Может кто-нибудь помочь.

Спасибо.

Ответ 1

Задайте параметр построения family перед вызовом legend() к требуемому значению. Сделайте это с помощью явного вызова par(). Вот простой пример

x <- y <- 1:10
plot(x, y, type = "n")
text(x = 5, y = 5, labels = "foo", family = "serif")

## set the font family to "serif"
## saving defaults in `op`
op <- par(family = "serif")

## plot legend as usual
legend("topright", legend = "foo legend", pch = 1, bty = "n")

## reset plotting parameters
par(op)

Действительно, вы можете изменить family перед первым вызовом plot() и оставить аргумент family = "serif" в вызове text(). Настройка через par() является глобальной для текущего устройства, использование параметров внутри вызовов функций является локальным для этого вызова.

Вышеприведенный код дает: use of family with legend