Изменить текстовый шрифт в легенде, используя функцию выражения в R - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть следующая легенда, которую я пытаюсь изменить на шрифт Times New Roman:

legend(x = 23, y = 40, legend = c(expression(bold('Dawn Col-0 Control')), expression(bold('Dusk Col-0 Control')), expression(bold('Dawn Col-0 100g ha'^'-1')), expression(bold('Dusk Col-0 100g ha'^'-1'))), col = c('black', 'red','black', 'red'), lty = c(1,1,2, 2), pch=c(19,19,19,19), cex = 1.5, bty="n", lwd=2)

Поскольку я использую функцию выражения,

par(family="A", font=2) 

неработать, когда это называется до или после легенды.Любые идеи, как я могу изменить шрифт Times New Roman?

1 Ответ

0 голосов
/ 20 декабря 2018

Полагаю, это будет зависеть от вашей машины.Но для меня в моих окнах я могу сделать это, чтобы получить легенду со шрифтом times new roman даже при использовании expression in legend:

par(family = "serif")
plot(1:30, 21:50)
legend(x = 15, y = 40,
       legend = c(expression(bold('Dawn Col-0 Control')), 
                  expression(bold('Dusk Col-0 Control')), 
                  expression(bold('Dawn Col-0 100g ha'^'-1')),
                  expression(bold('Dusk Col-0 100g ha'^'-1'))),
       col = c('black', 'red','black', 'red'), lty = c(1,1,2, 2), pch=c(19,19,19,19), cex = 1.5, bty="n", lwd=2)

Если вы запустите команду windowsFonts(),он скажет вам, какие шрифты доступны для вас по умолчанию (для меня «serif» относится к шрифту Times New Roman и «sans» к Arial)

Теперь, если Times New Roman отсутствует в вашем спискеиз шрифтов, вы можете добавить его:

windowsFonts(TimesNewRoman  = windowsFont("Times New Roman"))

, а затем создать график как:

par(family = "TimesNewRoman")
plot(1:30, 21:50)
legend(x = 15, y = 40,
       legend = c(expression(bold('Dawn Col-0 Control')), 
                  expression(bold('Dusk Col-0 Control')), 
                  expression(bold('Dawn Col-0 100g ha'^'-1')),
                  expression(bold('Dusk Col-0 100g ha'^'-1'))),
       col = c('black', 'red','black', 'red'), lty = c(1,1,2, 2), pch=c(19,19,19,19), cex = 1.5, bty="n", lwd=2)
...