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

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

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

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

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

Может кто-нибудь помочь, пожалуйста.

Спасибо.

1 Ответ

22 голосов
/ 21 августа 2011

Установите параметр построения 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

...